我正处于构建 PHP 应用程序的早期阶段,其中一部分涉及使用file_get_contents()
从远程服务器获取大文件并将它们传输给用户。例如,要获取的目标文件是 200 mB。
- 如果下载到服务器的时间过长,这个过程会超时吗?
- 如果是这样,有没有办法延长这个超时?
- 正在下载的这个文件是否也可以同时传输给用户,还是必须将文件保存在服务器上,然后在下载完成后由用户手动获取?
我只是想确保在我做太多事情之前知道我的选择或限制。
感谢您的时间。
我正处于构建 PHP 应用程序的早期阶段,其中一部分涉及使用file_get_contents()
从远程服务器获取大文件并将它们传输给用户。例如,要获取的目标文件是 200 mB。
我只是想确保在我做太多事情之前知道我的选择或限制。
感谢您的时间。
是的,您可以使用set_time_limit(0)
和max_execution_time
指令来取消 PHP 施加的时间限制。
您可以打开文件流,并将其无缝传输给用户。
阅读fopen()
如果不是超时,您可能会遇到内存问题,具体取决于您的 PHP 配置方式。您可以通过代码手动调整很多这些设置,没有太大困难。
http://php.net/manual/en/function.ini-set.php
ini_set('memory_limit', '256M');