Загрузка файлов с помощью SFTP

Я успешно загрузил файлы по ftp, но теперь мне нужно сделать это через SFTP. Я могу успешно подключиться к удаленному серверу, создать файл и записать в него, но я не могу загрузить существующий файл с моего локального сервера на удаленный сервер. Разве ftp_put не срабатывает с sftp-соединением?

Мой код, используемый для записи файла:

//Send file via sftp to server

$strServer = "*****";
$strServerPort = "****";
$strServerUsername = "*****";
$strServerPassword = "*****";
$csv_filename = "Test_File.csv";

//connect to server
$resConnection = ssh2_connect($strServer, $strServerPort);

if(ssh2_auth_password($resConnection, $strServerUsername, $strServerPassword)){
    //Initialize SFTP subsystem

    echo "connected";
    $resSFTP = ssh2_sftp($resConnection);    

    $resFile = fopen("ssh2.sftp://{$resSFTP}/".$csv_filename, 'w');
    fwrite($resFile, "Testing");
    fclose($resFile);                   

}else{
    echo "Unable to authenticate on server";
}

Удалось ли кому-нибудь получить локальный файл и загрузить его с помощью метода, описанного выше, с помощью sftp? Пример был бы очень признателен.

Спасибо

33
задан Erik Ekman 5 March 2012 в 19:30
поделиться