问题: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)