fread有问题,下载的数据在页面出现乱码
来源:2-11 文件下载函数封装
慕设计8067928
2017-08-25 10:04:16
function down_file(string $filename,array $allowDownExt=['jpg','png','zip','jpeg','gif']) {
// echo $filename,'<br>';
//检测下载文件是否可在,并且可读
if (!is_file($filename) || !is_readable($filename)) {
return false;
}
// echo 'a','<br>';
$Ext=strtolower(pathinfo($filename,PATHINFO_EXTENSION));
if (!in_array($Ext ,$allowDownExt)){
return false;
}
// echo 'b','<br>';
//通过heder()发送头信息
//告诉浏览器输出的是字节流
header('Content-type:application/octet-stream');
//告诉浏览器返回的文件大小是按照字节进行计算的
header('Accept-Ranges:bytes');
//告诉浏览器返回的文件大小
header('Accept-Length:'.filesize($filename));
echo '文件大小', filesize($filename);
//告诉浏览器文件作为附件处理,告诉浏览器最终下载完的文件名称
header('Content-Disposition:attachment;filename=Lorraine_'.basename($filename));
$read_buffer = 1024;
$handle = fopen($filename,'rb');
while (!feof($handle)) {
echo fread($handle,$read_buffer);
}
fclose($handle);
exit();
}
1回答
好帮手慕查理
2017-08-25
您好,我们这边测试下载的内容是没有问题的哦!请您反馈您显示页面的错误信息。祝学习愉快!
相似问题