通过软下载,我的意思是 PHP 从 Web 文档目录之外读取文件,然后通过 readfile() 函数“软”渲染文件的下载。你知道我的意思。
无论如何,我似乎只能提供大小不超过40MB的文件的这种下载方式。我尝试添加 set_time_limit(),它不起作用。
所以我怀疑我的主机可能在某个地方有一些限制。他们可以通过什么方式做到这一点?在 PHP.ini 或 apache2.conf 中?除了将文件切成更小的块外,还有其他方法可以规避吗?
通过软下载,我的意思是 PHP 从 Web 文档目录之外读取文件,然后通过 readfile() 函数“软”渲染文件的下载。你知道我的意思。
无论如何,我似乎只能提供大小不超过40MB的文件的这种下载方式。我尝试添加 set_time_limit(),它不起作用。
所以我怀疑我的主机可能在某个地方有一些限制。他们可以通过什么方式做到这一点?在 PHP.ini 或 apache2.conf 中?除了将文件切成更小的块外,还有其他方法可以规避吗?
当我搜索谷歌时,有几个人抱怨读取文件和大文件的问题。
您可能应该在 stackoverflow 上重新询问避免内存限制的 readfile 等效项。
抱歉,您的反对意见是什么?你的意思是你不想把它分成多个文件?在readfile文档页面上有一个示例函数“readfile_chunked”,它可以一次读取/输出文件。
感谢所有试图为我回答这个问题的人。我联系了我的主机支持,结果发现是mod_fcgid阻止了我使用 PHP 提供大于 40MB 的文件的下载。
他们在相关网站上明确禁用了它,现在一切正常并且按预期工作。
再次感谢!