
问题:PHP在使用readfile函数定义下载文件时候,文件不可以过大,否则会下载失败,文件损坏且不报错;
原因:这个是因为readfile读取文件的时候会把文件放入缓存,导致内存溢出;
解决:分段下载,并限制下载速度;
PHP缓冲区到Web服务器
flush(); // 刷新Web服务器缓冲区到浏览器
sleep(1); // 每1秒 下载 2 MB
}
// 关闭缓冲区
ob_end_clean();
fclose($fp);
} else {
echo 'file not exists or has been removed!';
}
exit();
总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)