baidu_30018937 2017-06-07 14:17 采纳率: 28.6%
浏览 1923
已采纳

php下载文件不显示文件名的中文该如何解决

之前一直乱码,转换格式后下载没问题了,只是文件名会忽略开头的中文,是什么问题?
例如文件名是(爱神的箭123.doc)下载的话文件名变成123.doc了,文件的内容是完整的

  • 写回答

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);
    ?>

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿