谢谢!
根据您的使用情况,我强烈建议先将数据压缩。此外,您可能需要在启动下载之前对文件进行MD5哈希并进行比较(如果文件没有更改,则无需更新),这将有助于第二个问题。
另外,是否可以只发送已更改的XML片段而不是整个文件?
Gallery2 允许您通过 http 上传照片,但也需要设置一些 PHP 参数,如post_max_size
和upload_max_filesize
等,以便允许较大的上传。你可能需要考虑这个。
在我看来,发布大文件时会遇到浏览器超时等问题,但好处是它与代理服务器和防火墙配合得比尝试其他文件上传协议更好。
感谢回复。我忘了提到传输文件应该相对快速(最多几分钟,这真的可能吗?)。请求的XML将在每晚解析并插入数据库中。XML可能与前一晚相同,也可能不同。有一个提出的解决方案是压缩XML文件,然后传输它。因此基本上有两个要求:1.它必须相对快速2.它应该尽量减少对数据库的写入。
提出的一个解决方案是压缩XML文件,然后传输它。但这只满足(1)
还有其他想法吗?
有没有可以用来压缩XML的算法?像MP3这样的大文件是如何在几秒钟内下载的?
PHP 接收大量数据会花费很长时间并且会增加开销,而且更容易出现缺陷。
我建议将任务分派给一个 shell 脚本(使用 wget 并进行简单的错误捕获),它不受执行时间的影响,如果失败了,甚至可以自行重试。
虽然我没有经验,但我认为可以使用 exec() 或类似的方法,但这些方法很遗憾地是模态运行的。
通过调用脚本 **./test.sh &**
让它在后台运行,解决了这个问题 / 我猜。该脚本可以轻松地让 PHP 通过 wget `http://yoursite.com/continue-xml-stuff.php?id=1049381023&status=0` 恢复它。如果您不需要追溯丢失的请求,则 id 可以是文件名。状态将指示脚本如何处理请求。
由于我不知道你的具体情况,所以我会提出一个问题。仅仅为了讨论,它必须是HTTP吗?FTP更适合大数据传输,并且可以通过PHP或Perl轻松自动化。