在php中在服务器之间传输大小适中的数据流的最佳方法

在php中在服务器之间传输大小适中的数据流的最佳方法,php,zip,hosting,data-transfer,Php,Zip,Hosting,Data Transfer,我有一个“脱机处理”服务器,它对cpu周期收费很少,还有一个“媒体服务”服务器,它对带宽收费很少。我有一个~1.3Mb的zip文件,离线处理服务器会生成该文件,然后将其发送到媒体服务服务器,以实际承载下载。我这样做的方式是让离线处理服务器自己制作文件,然后用ftp将文件传送到另一台,但我不得不移动主机,现在离线处理服务器无法将文件保存到自己 我的第一个想法是,我可以在媒体服务服务器上创建一个侦听php脚本,然后将内容发布到该脚本,并将其保存到zip文件中。解压后的数据约为4.1Mb,所以发布这么

我有一个“脱机处理”服务器,它对cpu周期收费很少,还有一个“媒体服务”服务器,它对带宽收费很少。我有一个~1.3Mb的zip文件,离线处理服务器会生成该文件,然后将其发送到媒体服务服务器,以实际承载下载。我这样做的方式是让离线处理服务器自己制作文件,然后用ftp将文件传送到另一台,但我不得不移动主机,现在离线处理服务器无法将文件保存到自己

我的第一个想法是,我可以在媒体服务服务器上创建一个侦听php脚本,然后将内容发布到该脚本,并将其保存到zip文件中。解压后的数据约为4.1Mb,所以发布这么多数据是个好主意吗?我想到的第二件事是php中的流。。。但我不知道什么才是最好的


当我无法将这4.1Mb的数据保存为生成数据的服务器中的文件时,将其从一台服务器移动到另一台服务器的最佳方法是什么?

如果您的主机支持,我可以尝试以下方法:

$fp = fopen('php://memory', 'w+');
fwrite($fp, "Hello, World!"); // create your file
fseek($fp, 0, SEEK_SET);

// connect to ftp
ftp_fput($ftp, '/foo', $fp, FTP_BINARY);   

fclose($fp);

您需要多长时间进行一次此处理?大约每周一次,它正在执行cron任务,因为--随着我的基础数据集的更改,这会生成一个摘要,以便在移动客户端上下载。在我的脑海中,它似乎很小,可以很容易地放入内存中发送到内容服务器。。。但我要指出的是,我不是一个喜欢php的人,为什么要使用php?Rsync或FTP非常适合这种任务。如果您必须使用php,您可以发布这样数量的数据。很好。但请确保您的媒体服务器设置允许这样做,并且php不会超时:非常有趣——我从未听说过php://memory 在此之前,我将对此进行研究。最坏的情况是,您可以将所有内容放入一个变量(字符串)中,并在其上编写一个精简流包装器。那肯定有用。(举个丑陋的例子:)非常感谢你的回答。它工作得很好,但我也有一个问题,你可能能够解决,因为它是相关的