首先,我知道这是一个重复的主题,但我找到的另一篇文章对我的情况没有用,所以我决定创建一个新帖子。
我想要完成的是从一台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
函数获得的文件上传到另一台服务器?无需先在PC上下载它?
谢谢!
答案 0 :(得分:2)
ftp_get
和ftp_put
都可以仅对文件进行操作,而不是文件夹。
使用ftp_get
将文件从第一台服务器下载到本地临时文件夹/文件。然后使用ftp_put
将临时文件上传到第二台服务器。
如果您想避免使用临时文件,可以使用ftp_fget
将文件下载到内存中,然后使用ftp_fput
重新上传到第二台服务器。