远程服务器上的ftp_getfetch文件无法打开流:没有这样的文件或目录

  • 本文关键字:文件 服务器 ftp getfetch php ftp
  • 更新时间 :
  • 英文 :

<?php
$local_file = 'filename';
$remote_file = '/folder name/filename';
$ftp_server ='IP';
$ftp_user_name = 'NAME';
$ftp_user_pass = 'PW';
// set up basic connection
$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);
// upload a file
if (ftp_get($conn_id, $remote_file, $local_file, FTP_BINARY)) {
echo "successfully uploaded $local_filen";
} else {
echo "There was a problem while uploading $local_filen";
}
// close the connection
ftp_close($conn_id);
?>

我在另一台服务器上成功地使用了上面的脚本,文件位于根文件夹中。但在这个问题上,我需要获取一个子目录中的文件(现在我们说"文件夹名"(。我尝试过不同的方法,但都抛出了一个错误"无法打开流:没有这样的文件或目录"。

我试过:

$remote_file = '/folder name/filename.csv';
$remote_file = './folder name/filename.csv';
$remote_file = '../folder name/filename.csv';
$remote_file = '/../folder name/filename.csv';

这是我第一次处理ftp_get命令。有人能帮帮我吗?我被卡住了。。。不知道我在这里做错了什么

对于那些可能遇到相同问题的人,我通过添加以下代码行(使用函数ftp_chdir(进行了排序,结果很好:

// turn passive mode on
ftp_pasv($conn_id, true);
echo "Current directory: " . ftp_pwd($conn_id) . "n";
// try to change the directory to somedir
if (ftp_chdir($conn_id, "Live Stock")) {
echo "Current directory is now: " . ftp_pwd($conn_id) . "n";
} else { 
echo "Couldn't change directoryn";
}
// upload a file
if (ftp_get($conn_id, $remote_file, $local_file, FTP_BINARY)) {
echo "successfully uploaded $local_filen";
} else {
echo "There was a problem while uploading $local_filen";
}

最新更新