2

我正处于构建 PHP 应用程序的早期阶段,其中一部分涉及使用file_get_contents()从远程服务器获取大文件并将它们传输给用户。例如,要获取的目标文件是 200 mB。

  • 如果下载到服务器的时间过长,这个过程会超时吗?
  • 如果是这样,有没有办法延长这个超时?
  • 正在下载的这个文件是否也可以同时传输给用户,还是必须将文件保存在服务器上,然后在下载完成后由用户手动获取?

我只是想确保在我做太多事情之前知道我的选择或限制。

感谢您的时间。

4

2 回答 2

2

是的,您可以使用set_time_limit(0)max_execution_time指令来取消 PHP 施加的时间限制。

您可以打开文件流,并将其无缝传输给用户。
阅读fopen()

于 2012-04-27T20:15:34.977 回答
2

如果不是超时,您可能会遇到内存问题,具体取决于您的 PHP 配置方式。您可以通过代码手动调整很多这些设置,没有太大困难。

http://php.net/manual/en/function.ini-set.php

ini_set('memory_limit', '256M');
于 2012-04-27T20:15:52.643 回答