ftp_get失败但PHP没有报告错误

时间:2011-06-21 19:04:38

标签: php ftp

我尝试使用PHP 5.3.3(linux build)中的ftp_get从FTP服务器获取文件。 我可以登录,我可以列出文件,但ftp_get命令不下载文件。

这是我正在使用的代码。

$ftp_user_name = DBUSER;
$ftp_user_pass = DBUSERPASS;
$ftp_server = HOST;
$local_file = "poutarde.odt";
$server_file = "poutarde.odt";

// set up a connection to ftp server
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// turn passive mode on
ftp_pasv($conn_id, true);

// try to download $server_file and save to $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
  echo "Successfully written to $local_file\n";
} else {
  echo "There was a problem\n";
}

// close the connection
ftp_close($conn_id);

“poutarde.odt”文件位于FTP的根目录。

我从客户端(filezilla)检查了FTP下载,一切正常。 但是,使用ftp_get,我什么都没得到(除了回声“有一个问题”),甚至没有PHP错误,它只是失败。

谢谢你的帮助。

里诺

1 个答案:

答案 0 :(得分:-3)

ftp_get需要文件处理程序,而不是文件名。

$local_file = fopen("poutarde.odt",'w');
//...
if(ftp_get($conn_id, $local_file, $server_file, FTP_BINARY))