这个问题在这里已有答案:
您好我想通过使用FTP连接将位于一个服务器的根文件夹中的csv文件夹上的csv文件下载到我的服务器。我添加了以下代码。它不适合我。 FTP连接工作也使用此命令ftp_nlist列出所有文件。您能帮我从一台服务器的一个文件夹下载文件到服务器的另一个文件夹吗?
$ftpHost = 'ftp.site.in';
$ftpUsername = 'username';
$ftpPassword = '******';
// open an FTP connection
$connId = ftp_connect($ftpHost) or die("Couldn't connect to $ftpHost");
// try to login
if(@ftp_login($connId, $ftpUsername, $ftpPassword)){
echo "Connected as $ftpUsername@$ftpHost";
}else{
echo "Couldn't connect as $ftpUsername";
}
$contents = ftp_nlist($connId, ".");
var_dump($contents);
// local & server file path
$localFilePath = 'csv';
$remoteFilePath = 'public_html/csvfiles/';
// try to download a file from server
if(ftp_get($connId, $localFilePath, $remoteFilePath, FTP_BINARY)){
echo "File transfer successful - $localFilePath";
}else{
echo "There was an error while downloading $localFilePath";
}
ftp_get
在其参数中获取文件路径,而不是文件夹路径。
所以这是正确的:
$localFilePath = 'csv/myfile.csv';
$remoteFilePath = 'public_html/csvfiles/myfile.csv';
ftp_get($connId, $localFilePath, $remoteFilePath, FTP_BINARY);