php下载文件header设置
微wx笑 2022-07-18【编程语言】 1 0关键字: php 下载文件 header
希望通过PHP生成文件让用户下载,或者希望通过PHP对用户希望下载的文件进行权限以及速度等的限制,需要设置HTTP头,php通过header方法来设置
希望通过PHP生成文件让用户下载,或者希望通过PHP对用户希望下载的文件进行权限以及速度等的限制,需要设置HTTP头,php通过header方法来设置
相关代码
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 是可选的。
filename 中文文件名的话,可能会遇到编码的问题,有人说不支持UTF-8,但是我测试的却是正常的。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/lang/2022-07-18/1314.html