PHP file_get_contents() Timeout?


PHP file_get_contents() Timeout?

我正处于构建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');