之前一直乱码,转换格式后下载没问题了,只是文件名会忽略开头的中文,是什么问题?
例如文件名是(爱神的箭123.doc)下载的话文件名变成123.doc了,文件的内容是完整的
php下载文件不显示文件名的中文该如何解决
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 一个没有毅力的人 2017-06-08 12:39关注
<?php
//文件的下载
//文件名
$file_name="张飞.jpg";
//如果名称为中文的,必须将名称改成gb2312的编码格式
$file_name=iconv('utf-8','gb2312',"$file_name");
//打开文件,并且以只读的形式
$file=fopen($file_name,'r');
//确定文件的大小
$size=fileSize($file_name);
//告诉浏览器要传输的是一个流
header("Content-type:application/octet-stream");
//告诉浏览器传送的大小
header("Accept-Length:$size");
//告诉浏览器传输的东西要保存,保存名字是$file_name
header("Content-Disposition:attachment;filename=$file_name");
//让浏览器去读文件,记得echo,记得echo,记得echo
echo fread($file,$size);
//关闭文件
fclose($file);
//header(Content-type:application/jpg);
?>本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1