美文网首页
php实现大文件下载且隐藏文件真实地址

php实现大文件下载且隐藏文件真实地址

作者: VincentH | 来源:发表于2017-10-23 12:17 被阅读0次

    传统的处理文件下载隐藏真实地址,相信很多小伙伴都能够在网上找到以下代码:

    header('Content-Description: File Transfer');
     
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($filepath));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0′);
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0′);
    header('Pragma: public');
    header('Content-Length: ' . filesize($filepath));
    readfile($file_path);
    

    代码确实能下载文件,但是,当文件过大的时候,就会出现意想不到的错误:

    • 下载的文件莫名变小
    • 下载的文件网络错误

    以下为大文件正常下载代码:

    
    $filesize=filesize($file)+1000;
     header('Content-Description:File Transfer');
     header("Content-Type:application/octet-stream");
     header('Content-Transfer-Encoding:binary');
     header("Accept-Ranges: bytes");
     header('Expires:0');
     header('Cache-Control:must-revalidate');
     header('Pragma:public');
     header("Content-Length:".$filesize);
     header("Content-Disposition:attachment;filename=".$file_naked);
    $fp = fopen($file, "rb"); 
    fseek($fp,0); 
    while (!feof($fp)) { 
        set_time_limit(0); 
        print (fread($fp, 1024 * 8)); 
        flush(); 
        ob_flush(); 
    } 
    fclose($fp); 
    exit ();
    

    相关文章

      网友评论

          本文标题:php实现大文件下载且隐藏文件真实地址

          本文链接:https://www.haomeiwen.com/subject/kpoouxtx.html