PHP 弹出文件下载 原理 代码

Posted yutingliuyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 弹出文件下载 原理 代码相关的知识,希望对你有一定的参考价值。

/**
 * @author      default7<[email protected]>
 * @description 演示php弹出下载的原理
 *
 * @param $file_name
 */
function downFile($file_name)
{
    $file_path = "/tmp/" . $file_name;
    $buffer = 102400; //一次返回102400个字节
    if (!file_exists($file_path)) {
        echo "<script type='text/javascript'> alert('对不起!该文件不存在或已被删除。'); </script>";

        return;
    }
    $fp = fopen($file_path, "r");
    $file_size = filesize($file_path);
    $file_data = '';
    while (!feof($fp)) {
        $file_data .= fread($fp, $buffer);
    }
    fclose($fp);

    //Begin writing headers
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-type:application/octet-stream;");
    header("Accept-Ranges:bytes");
    header("Accept-Length:{$file_size}");
    header("Content-Disposition:attachment; filename={$file_name}");
    header("Content-Transfer-Encoding: binary");
    echo $file_data;
}




以上是关于PHP 弹出文件下载 原理 代码的主要内容,如果未能解决你的问题,请参考以下文章

PHP常用代码片段

深入理解PHP原理之Opcodes

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

超级有用的9个PHP代码片段

PHP必用代码片段

PHP代码-psysh调试代码片段工具