php readfile(),解决下载文…

原创 2016年05月31日 14:21:11
 最近项目遇见了这个错误。下载报表时数据量太大,文件达到了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();函数的调用。

【php】PHP远程读取大文件之file_get_contents()与readfile()效率比较

一般的读取远程文件, 我们是使用file_get_contents 但是这个属于一个一个字节读取的,这个效率不高PHP中有一种rio类的函数就是readfile函数,他可以一次性读取文本行,效率...

管道piep使用ReadFile读取阻塞问题解决

0x01.CreatePipe管 道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另 一进程就可以从管道的...

细说PHP 一些字符串函数和正则表达…

去除空格中的trim,ltrim.rtrim有一个特殊用法是使用 .. 符号指定需要去除的一个范围,如0..9  或者 a..z  例如: $str = "123 This is a test"; ...

PHP isset()与empty()的使用区别详…

通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言。庞大的函数库支持着PHP语言功能的实现。下面我们为大家介绍有关PHP函数isset()与empty()的相关用法。 PHP的iss...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php readfile(),解决下载文…
举报原因:
原因补充:

(最多只允许输入30个字)