这是我正在使用的代码
<?php
// connect and login to FTP server
$ftp_server = "ftp_server";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
ftp_pasv($ftp_conn, TRUE);
ftp_set_option($ftp_conn, FTP_TIMEOUT_SEC, 2800);
$ftp_username="ftp_username";
$ftp_userpass="ftp_userpass";
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$local_file = "local_file";
$server_file = "server_file";
if (ftp_get($ftp_conn, $local_file, $server_file, FTP_BINARY))
{
echo "Successfully written to ".$local_file;
}
else
{
echo "Error downloading ".$server_file;
}
// close connection
ftp_close($ftp_conn);
我总是得到同样的错误 -
“警告:ftp_get():第33行的myfile.php传输失败 下载server_file“
时出错我试着看看我试图得到的文件是否是正确的,所以我用过 这段代码 -
$res = ftp_size($ftp_conn, $server_file);
if ($res != -1) {
echo "size of $server_file is $res bytes";
} else {
echo "couldn't get the size";
}
我得到文件大小,因此文件存在。该文件大约是11MB,因此该文件的大小不应该是一个问题。
我添加了一行:
ftp_pasv($ftp_conn, TRUE);
ftp_set_option($ftp_conn, FTP_TIMEOUT_SEC, 2800);
在网络上搜索解决方案后,无论是否有这些行,结果都相同......
有什么想法吗?
Cheerz
答案 0 :(得分:0)
您需要在ftp_pasv()
之后拨打ftp_login()
,而不是之前。检查函数调用的返回值,看它是否成功。