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



