[英]Download large files with PHP
我在PHP上使用jQuery。 我用PHP编写了一个简单的下载功能:
function downloadFile($sFile){
#Main function
header('Content-Type: '.mime_content_type($sFile));
header('Content-Description: File Transfer');
header('Content-Length: ' . filesize($sFile));
header('Content-Disposition: attachment; filename="' . basename($sFile) . '"');
readfile($sFile);
}
我可以通过此脚本下载文件,但是如果文件很大(例如1GB),则readfile函数需要他的时间才能开始下载。 因此,我必须等待一分钟左右,直到真正开始下载为止。 知道如何优化我的脚本,以便立即开始下载吗?
您可以配置Apache以在.htaccess
文件中设置适当的标头。 然后,您可以直接链接到文件而不是PHP页面。 这还将减少服务器负载。
当然,如果PHP脚本执行的功能不仅仅是设置标头(例如身份验证),那么这不是一个选择。 正如@NB在他的评论中提到的那样,您将必须通过PHP将文件分块传递。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.