Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过反馈在2台服务器之间传输文件_Php_Ftp - Fatal编程技术网

Php 通过反馈在2台服务器之间传输文件

Php 通过反馈在2台服务器之间传输文件,php,ftp,Php,Ftp,我需要在服务器1上实现Wordpress(或其他CMS)网站,当用户上传文件时,它们被传输到另一个服务器2,在那里由一些应用程序处理并返回到服务器1,以便用户可以下载或查看。因为文件可能很大,所以我发现最好的解决方案是FTP传输,比如: 传输文件时,应启动服务器_2上的应用程序,并在处理文件后将其返回到服务器_1 所以我的问题是:实现这一点的最佳方式是什么 我是否应该使用php和ftp传输以及一些侦听器来检查服务器2上的文件夹(如果文件已被处理),或者使用一些外部应用程序每隔几分钟检查一次文件夹

我需要在服务器1上实现Wordpress(或其他CMS)网站,当用户上传文件时,它们被传输到另一个服务器2,在那里由一些应用程序处理并返回到服务器1,以便用户可以下载或查看。因为文件可能很大,所以我发现最好的解决方案是FTP传输,比如: 传输文件时,应启动服务器_2上的应用程序,并在处理文件后将其返回到服务器_1

所以我的问题是:实现这一点的最佳方式是什么

我是否应该使用php和ftp传输以及一些侦听器来检查服务器2上的文件夹(如果文件已被处理),或者使用一些外部应用程序每隔几分钟检查一次文件夹并将文件复制到另一个服务器上。。。如果您有任何关于如何实施这一点以及在哪里寻找的意见,我将不胜感激


提前谢谢你

这是一种可能的方法:

  • 在服务器_1上,通过http可访问文件夹将新上载的文件秘密托管
  • 在服务器2上,托管一个能够下载、处理和输出文件的php
  • 上传文件时,将其放入可访问文件夹中,然后使用curl或wget查询服务器2上的php,将URL传递给新上传的文件(即
    wget)http://server_2/path/to/processor.php?file=http://server_1/path/to/secret/dir/original.pdf
  • 然后processor.php将下载该文件,对其进行修改,并作为响应将其写回服务器_1上的curl或wget进程
  • 让服务器1上的curl或wget进程将修改后的文件保存到所需位置

  • 这是一种可能的方法:

  • 在服务器_1上,通过http可访问文件夹将新上载的文件秘密托管
  • 在服务器2上,托管一个能够下载、处理和输出文件的php
  • 上传文件时,将其放入可访问文件夹中,然后使用curl或wget查询服务器2上的php,将URL传递给新上传的文件(即
    wget)http://server_2/path/to/processor.php?file=http://server_1/path/to/secret/dir/original.pdf
  • 然后processor.php将下载该文件,对其进行修改,并作为响应将其写回服务器_1上的curl或wget进程
  • 让服务器1上的curl或wget进程将修改后的文件保存到所需位置

  • 我过去是如何做到这一点的:如果文件大于20mb,首先将文件切碎成1mb的块,然后使用curl_multi将所有的块发布到一个接收器脚本,该脚本将这些块重新组合在一起。它比单一连接更快。ftp是一种选择。感谢您的快速响应!在过去的两天里,我一直在尝试如何实现这一点,但运气不佳。你们能给我看一些基本的代码吗?一个在发送方,另一个在接收方。非常感谢。如果您必须传输文件,我建议使用rsync移动文件,并使用基于inotify的脚本触发处理。然而,如果你直接上传到服务器2并从那里提供处理过的内容,你可以大大简化处理过程。整个处理过程是在后台完成的,还是用户会等待结果?用户需要等待结果。我过去的做法是,如果文件不完整,首先将文件分割成1mb的块大于20mb,然后使用curl_multi将所有块发布到接收器脚本,该脚本将这些块重新组合在一起。它比单一连接更快。ftp是一种选择。感谢您的快速响应!在过去的两天里,我一直在尝试如何实现这一点,但运气不佳。你们能给我看一些基本的代码吗?一个在发送方,另一个在接收方。非常感谢。如果您必须传输文件,我建议使用rsync移动文件,并使用基于inotify的脚本触发处理。但是,如果您直接上传到服务器2并从那里提供处理后的内容,您可以大大简化流程。整个处理过程是在后台完成的还是用户会等待结果?用户需要等待结果