首先,我知道这是一个重复的主题,但是我发现的另一个帖子对我的情况没有用,所以我决定创建一个新的。
我试图完成的是从一个FTP服务器获取一个文件并将其上载到另一个FTP服务器。
我使用这个代码:
$ftp_server = "ftp_server";
$ftp_user_name = 'ftp_username' ;
$ftp_user_pass = 'ftp_pass' ;
$localDir = "full/path/";
$serverDir = "full/path/";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_get($conn_id, $localDir, $serverDir, FTP_BINARY)) {
// ftp_fput($conn_id, $file, $fp, FTP_ASCII))
}
我遇到的问题是,当你使用ftp_put
命令时,它需要一个本地文件,但是这个文件不在我的计算机上,所以我不能把它上传到另一个ftp。
有没有办法上传文件,我刚刚得到的ftp_get
函数到另一个服务器使用ftp_put
?而不需要先在电脑上下载它?
谢谢
ftp_get
和ftp_put
都只能对文件进行操作,不能对文件夹进行操作。
使用ftp_get
将文件从第一个服务器下载到本地临时文件夹/文件。然后使用ftp_put
将临时文件上传到第二个服务器。
如果要避免使用临时文件,可以使用ftp\u fget
将文件下载到内存中,然后使用ftp\u fput
重新上载到第二台服务器。