我需要传输创建的文件,但一直收到以下错误:
警告:ftp_put():无法打开数据连接以传输"/server.txt "
我可以通过ftp应用程序访问ftp,也可以通过应用程序创建和传输文件,但当我试图通过PHP做同样的事情时,它不起作用。
这是我的准则。
$serverFile = "server.txt";
$localfile = "/var/sites/store/publish/store-201908-1323-rev9286/www/text.txt";
$localfile = "text.txt";
//Connect to ftp
$ftp_server = "111.111.111.11";
$ftp_user_name = "username";
$ftp_user_pass = "password";
/*set up basic ssl connection*/
$ftp = ftp_ssl_connect($ftp_server);
// login with username and password
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
ftp_pasv($ftp, true);
if($login_result){
if (ftp_put($ftp, $serverFile, $localfile, FTP_ASCII))
{
Mage::log("successfully uploaded \n",null,"ftp.log");
}
}
ftp_close($ftp);
我在这里错过了什么,我没有访问权,以改变任何文件传输协议服务器,但我知道,我们已经远程放置文件在服务器之前。
这也是我在WinSCP中使用的FTP连接的屏幕截图。我试过添加端口。我也试过在服务器上创建一个文件并执行ftp_get,但得到了相同的结果。
1条答案
按热度按时间h9a6wy2h1#
我检查了你的代码,
server.txt
文件将是root
的路径。通常,
ftp
用户对root没有write
权限。请创建一个777权限的新目录并尝试上传。