20170621/594a1f5054498.jpg

The best life is use of willing attitude, a happy-go-lucky life.

— Mr.Wang

头像

php readfile() 解决下载文件因时文件太大而无法找到文件或变成1k大小

发布时间:2017-06-21 15:25:04

发布作者:admin

4540

最近公司OA系统遇见了这个错误。

下载报表时数据量太大,文件达到了300多M,这时出现了“页面未找到”或"文件大小变成1k"的错误,开始以为是服务器文件不存在,后来看了下确实有的,然后尝试了多次,发现小文件是可以下载的。

于是确定是文件太大的原因。

set_time_limit(0);  
ini_set('memory_limit', '512M');  
header('Content-Type: application/octet-stream');  
header('Content-Disposition: attachment; filename='.basename($file));  
header('Content-Transfer-Encoding: binary');  
ob_end_clean();  
readfile($file);  

主要注意前面2个设置(根据情况自己设置内存大小)和 ob_end_clean();函数的调用。


相关文章:
  1. 动态扩容Linux根目录 (解决/dev/mapper/centos-root 占用了过高问题)
  2. mysql binlog日志自动清理及手动删除
  3. setfacl设置特定目录的权限
  4. CentOS7使用firewalld打开关闭防火墙与端口