-4

我面临下载脚本的问题,每当在我的项目站点上开始下载时,站点中存在的所有链接都根本不起作用。文件完全下载后,链接开始工作。

我正在设置header和使用下载文件的readfile方法php。我希望文件下载应该与网站上的用户操作同时进行。我正在使用以下代码

    header("Pragma: public");
    header("Expires: 0");
    header("Content-Type: application/$ctype");
    header("Content-Description: File Transfer");
    header("Content-Disposition: inline; filename=$docName");
    header('Content-Length: '. filesize($filename));
    header("Accept Ranges: bytes"); 
    header("Content-Transfer-Encoding: binary");        
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");            
    readfile("$filename");

filename是文件名和ctype文件类型。

如何解决这个问题?

请让我知道是否有人对此有解决方案。

4

1 回答 1

0

我只是猜测您缺少正确的标头,根据需要更改内容类型和传输编码

$download 是实际文件,即 /var/www/download_images/1.jpg

$filesize 是文件的大小

$filename 可以是您想要呈现给用户的任何文件名,即 homer_simpson.jpg

<?php
    if (file_exists($download))
    {
        header("Cache-Control: must-revalidate");
        header("Expires: 0");
        header("Pragma: public");
        header("Content-Description: File Transfer");
        header("Content-Length: ". $filesize .";");
        header("Content-Disposition: attachment; filename=" . $filename);
        header("Content-Type: application/octet-stream; ");
        header("Content-Transfer-Encoding: binary");
        ob_clean();
        flush();

        readfile($download);
    }
?>
于 2013-06-18T08:54:22.767 回答