使用PHP下载大文件

时间:2013-09-02 08:46:31

标签: php javascript jquery download

我正在使用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函数需要他的时间,直到下载开始。所以我必须等待一分钟左右,直到下载真正开始。 知道如何优化我的脚本,所以立即开始下载吗?

1 个答案:

答案 0 :(得分:0)

您可以配置Apache以在.htaccess文件中设置正确的标头。然后,您可以直接链接到文件而不是PHP页面。这也会减少服务器负载。

当然,如果PHP脚本执行的功能不仅仅是设置标题(例如身份验证),那么这不是一个选项。您必须以@ N.B的形式通过PHP传递文件。提及他的评论。