public function download()
{
$famlePath = $_GET['resum']; //文件路径
$file_dir = ROOT_PATH . 'public' . DS . 'upload' . '/' . "$famlePath"; // 下载文件存放目录
// 检查文件是否存在
if (! file_exists($file_dir) ) {
$this->error('文件未找到');
}else{
// 打开文件
$file1 = fopen($file_dir, "r");
//文件名,自定义名称+文件后缀
$file_houzhui = strrchr($file_dir, '.');
$file_name = $_GET['name'].$file_houzhui;
// 输入文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length:".filesize($file_dir));
Header("Content-Disposition: attachment;filename=" . $file_name);//自定义文件名
ob_clean(); // 重点!!!
flush(); // 重点!!!!可以清除文件中多余的路径名以及解决乱码的问题:
//输出文件内容
//读取文件内容并直接输出到浏览器
echo fread($file1, filesize($file_dir));
fclose($file1);
exit();
}
}
thinkphp 下载文件接口
最新推荐文章于 2025-03-11 14:25:00 发布
这段代码实现了一个PHP文件下载功能,通过GET参数获取文件路径,检查文件是否存在,然后设置HTTP头信息,允许以附件形式下载,并自定义文件名。使用fopen、fread和fclose读取并输出文件内容。


7554

被折叠的 条评论
为什么被折叠?



