【发布时间】:2013-06-09 23:51:43
【问题描述】:
我正在尝试将来自本地服务器的文件存储在 ftp 服务器上。
源文件在我当前目录下(和php文件一样)
我使用http://www.server.co.za/kisv2/xmltest/export.php 运行脚本
要上传到 ftp 的文件是 http://www.server.co.za/kisv2/xmltest/exportfile.csv
目标ftp路径为:ftp://ftp.ftpserver.co.za/LocExports/exportfile.csv
我的 ftp 登录默认为:ftp://ftp.ftpserver.co.za
所以我想将文件从当前目录exportfile.csv 复制到ftp://ftp.ftpserver.co.za/LocExports/exportfile.csv
我当前的语法是:
$source = 'exportfile.csv'; //this is a file in the same directory as my php file. full path is... http://www.server.co.za/kisv2/xmltest/exportfile.csv
$target = '/LocExports/exportfile.csv'; //full path is... ftp://ftp.ftpserver.co.za/LocExports/exportfile.csv
$conn = ftp_connect("ftp.ftpserver.co.za") or die("Could not connect");
ftp_login($conn, "username", "password");
$upload = ftp_put($conn, $target, $source, FTP_ASCII);
if (!$upload) { echo 'FTP upload failed!'; }
echo "complete";
这给了我错误Warning: ftp_put() [function.ftp-put]: Opening ASCII mode data connection。该文件确实出现在 FTP 服务器上,但为空白且大小为 0 字节。
欢迎任何想法。
感谢和问候
更新
$source = 'exportfile.csv';
$target = '/LocExports/exportfile.csv';
$conn = ftp_connect("ftp.server.co.za") or die("Could not connect");
ftp_login($conn, "username", "password");
ftp_pasv($conn, true);
$upload = ftp_put($conn, $target, $source, FTP_BINARY);
if (!$upload) { echo 'FTP upload failed!'; }
echo "complete";
这仍然失败:
Warning: ftp_put() [function.ftp-put]: Opening BINARY mode data connection.
文件在 ftp 上创建但为空。
再次感谢
【问题讨论】:
标签: php file-upload ftp