在PHP中的两个远程FTP服务器之间传输文件



首先,我知道这是一个重复的话题,但是我发现的另一篇文章对我的情况并不有用,所以我决定创建一个新的。

我要完成的是从一台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上下载它?

谢谢!

ftp_getftp_put都可以使用文件,而不是文件夹。

使用ftp_get将文件从第一个服务器下载到本地临时文件夹/文件。然后使用ftp_put将临时文件上传到第二个服务器。


如果要避免使用临时文件,则可以使用ftp_fget下载该文件到内存,然后使用ftp_fput重新使用到第二个服务器。

  • php:如何从ftp服务器中读取.txt文件?
  • 在不使用中间文件的情况下将内存数据传输到FTP服务器

最新更新