编程语言您现在的位置是:首页 > 博客日志 > 编程语言

php下载文件header设置

<a href='mailto:'>微wx笑</a>的头像微wx笑 2022-07-18编程语言 1 0关键字: php  下载文件  header  

希望通过PHP生成文件让用户下载,或者希望通过PHP对用户希望下载的文件进行权限以及速度等的限制,需要设置HTTP头,php通过header方法来设置

希望通过PHP生成文件让用户下载,或者希望通过PHP对用户希望下载的文件进行权限以及速度等的限制,需要设置HTTP头,php通过header方法来设置Gim无知

相关代码Gim无知

header实现文件下载的代码如下:
<?php

    header('Content-Type:text/html;charset=utf-8');

    if(!empty($_GET['filename'])){
        $filename = "uploadfile/".$_GET['filename'];
        $filename = iconv('utf-8', 'gbk', $filename);
        //中文文件名处理
        $name = str_replace([dirname($filename),'/','\\'], '', $filename);
        // $name = preg_replace('/^.+[\\\\\\/]/', '', $filename);
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename=' .$name);
        header('Content-length:'.filesize( $filename));
        readfile($filename);
    }
?>

Content-length 是可选的。Gim无知

filename 中文文件名的话,可能会遇到编码的问题,有人说不支持UTF-8,但是我测试的却是正常的。Gim无知


Gim无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/lang/2022-07-18/1314.html

很赞哦! () 有话说 ()