【问题标题】:Transfer files between two remote FTP servers in PHP在 PHP 中的两个远程 FTP 服务器之间传输文件
【发布时间】:2017-12-13 16:29:36
【问题描述】:

首先,我知道这是一个重复的主题,但我发现的另一个帖子对我的情况没有用,所以我决定创建一个新的。

我想要完成的是从一台 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_put 将我刚刚使用ftp_get 函数获得的文件上传到另一台服务器?无需先在 PC 上下载?

谢谢!

【问题讨论】:

  • 如果不在盒子上,您将无法使用 ftp。如果你可以使用 ssh。您或许可以远程开始文件传输。
  • 这里是FTP文件上传示例,希望对您有所帮助。 php.net/manual/en/ref.ftp.php

标签: php ftp


【解决方案1】:

ftp_getftp_put 都只能处理文件,不能处理文件夹。

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


如果您想避免使用临时文件,可以使用ftp_fget 将文件下载到内存,然后使用ftp_fput 重新上传到第二台服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-02
    • 2016-11-17
    • 1970-01-01
    • 2013-07-15
    • 2014-07-11
    • 2021-06-29
    • 2014-04-12
    • 1970-01-01
    相关资源
    最近更新 更多