繁体   English   中英

使用PHP下载大文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM