php readfile(),解决下载文…
2016-05-31 14:21
417 查看
最近项目遇见了这个错误。下载报表时数据量太大,文件达到了300多M,这时出现了“页面未找到”的错误,开始以为是服务器文件不存在,后来看了下确实有的,然后尝试了多次,发现小文件是可以下载的。于是确定是文件太大的原因。在网上找了很多资料(百度还是太不靠谱,关键时刻还是得靠google),最后解决了。直接上代码:
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();函数的调用。
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();函数的调用。
相关文章推荐
- PHPExcel导出
- PHP上传图片,以及为图片添加简单…
- TP框架知识点
- [置顶] 【PHP开发】Mac系统ThinkPhp连接MySQL 教程(二)
- Composer -- PHP依赖管理的新时代
- 字符拷贝和字节拷贝文件对比(FileInputStream,FileOutputStream, FileReader, FileWriter)
- [PHP源码阅读]count函数
- mac 下如何开启 ftp server
- mysql修改密码后,phpMyadmin无法登陆
- php数组
- PHP字符串——编码与转义
- PHP之缩略图
- PHP——字符串处理部分
- laravel 配置 No supported encrypter found
- SetProcessShutdownParameters
- Zabbix利用msmtp+mutt发送邮件报警
- php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
- [置顶] 【PHP开发】Mac系统配置MAMP+Thinkphp框架环境 教程(一)
- php+html+js 全选删除
- php安装libiconv-1.14.tar.gz遇到的问题