КАК В PHP РАБОТАТЬ С SFTP
Для работы с протоколом SFTP в PHP существует специальное расширение ssh2, которое включает в себя функции для установления соединения с SFTP-сервером, выполнения операций чтения и записи файлов, а также получения списка файлов на удаленном сервере.
Для начала работы с SFTP в PHP необходимо установить расширение ssh2:
sudo pecl install ssh2После успешной установки можно использовать функции для работы с SFTP:
$connection = ssh2_connect('example.com', 22);ssh2_auth_password($connection, 'username', 'password');$sftp = ssh2_sftp($connection);$stream = fopen("ssh2.sftp://$sftp/path/to/remote/file", 'r');В данном примере мы устанавливаем соединение с SFTP-сервером по адресу example.com, авторизуемся с помощью логина и пароля, получаем дескриптор SFTP-сессии и открываем файл для чтения на удаленном сервере.
Ниже приведен пример функции для загрузки локального файла на удаленный SFTP-сервер:
function upload_file_via_sftp($local_file_path, $remote_file_path, $sftp_conn_resource) {    $stream = @fopen("ssh2.sftp://$sftp_conn_resource$remote_file_path", 'w');    if (!$stream) {        return false;    }    $data_to_send = @file_get_contents($local_file_path);    if (!$data_to_send) {        return false;    }    if (@fwrite($stream, $data_to_send) === false) {        return false;    }    @fclose($stream);    return true;}Функция принимает путь к локальному файлу, путь к удаленному файлу и дескриптор SFTP-сессии. Функция загружает файл на удаленный сервер, в случае успешной загрузки возвращает true, в противном случае - false.
PHP уроки 3. Работа по FTP с помощью FileZilla. PHP для начинающих.
Connect to FTP/SFTP Server using Visual Studio Code and SFTP Extention
How to list the files from an SFTP server using PHP
sftp - #phpstarters
SFTP, SSH. Пошаговое руководство
PHP уроки. 3: Работа по FTP с помощью FileZilla (PHP для начинающих)
Get list of files present on a SFTP server in PHP using phpseclib library using a dummy SFTP server
SFTP upload to and download from a remote server in PHP 7 using phpseclib (Simple Code)





















