【发布时间】:2012-03-23 06:13:29
【问题描述】:
我已成功通过 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 上传?一个例子将不胜感激。
谢谢
【问题讨论】:
-
你为什么叫它
resFile?为什么是“res”?它代表什么? -
我猜的结果.. @Black
-
你在哪里使用
$strServerPassword在你的 src 中?我看不到它在这里被使用。