【问题标题】:PHP FTP transfer files from one server to another while executing the script on third system [closed]PHP FTP 在第三个系统上执行脚本时将文件从一台服务器传输到另一台服务器[关闭]
【发布时间】:2013-07-22 08:17:34
【问题描述】:

好吧,我正在尝试使用 PHP FTP 函数将文件(+ 目录)从一台服务器(源)传输到另一台(目标)并从第三个系统执行脚本。是否可以?谁能帮忙举个例子?

【问题讨论】:

  • 如果您使用第三个系统作为临时帖子,这是可能的。除非您有权在两台服务器中的至少一台上运行脚本,否则我看不到如何直接使用 FTP 进行传输
  • 大概可以从源下载到第三个系统,然后再上传到目标系统? (当然只对小文件有用)。您还可以尝试从第三个系统在源或目标系统上运行传输脚本(就像@MikeW 建议的那样)。
  • 谢谢 4 回复。我可以通过 FTP 访问源服务器和目标服务器。我还尝试在本地计算机和源服务器上运行脚本 n 它通过从这些服务器传输文件/目录来工作,但我在尝试在第三个系统上执行脚本时执行从源服务器传输文件到目标的执行..是这是什么奇怪的东西?
  • 是的,这是可能的。你试过用谷歌搜索你的查询吗?
  • 是的,但每个人都告诉我们从脚本运行的地方传输文件。这对我也有用..但我正在尝试在第三个系统中执行脚本以将文件从 src 传输到目标。如果您尝试过,能否提供示例脚本?

标签: php ftp transfer


【解决方案1】:

你想要实现的叫做FXP,你可以通过raw FTP commands来实现:

$ansver = ftp_raw($ftp_conn1, 'PASV');

if (intval($ansver[0]) == 227) {
    ftp_raw($ftp_conn2, 'PORT '.substr($ansver[0], $n = strpos($ansver[0], '(') + 1, strpos($m[0], ')', $n) - $n));
    ftp_raw($ftp_conn1, 'STOR '.$filename); // need asynchronously (non-blocking)
    ftp_raw($ftp_conn2, 'RETR '.$filename);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    相关资源
    最近更新 更多