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

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条)

报告相同问题?

悬赏问题

  • ¥500 亚马逊 COOKIE我如何才能实现 登录一个亚马逊账户 下发新 COOKIE ..我使用下发新COOKIE 导入ADS 指纹浏览器登录,我把账户密码 修改过后,原来下发新COOKIE 不会失效的方式
  • ¥20 玩游戏gpu和cpu利用率特别低,玩游戏卡顿
  • ¥25 oracle中的正则匹配
  • ¥15 关于#vscode#的问题:把软件卸载不会再出现蓝屏
  • ¥15 vimplus出现的错误
  • ¥15 usb无线网卡转typec口
  • ¥30 怎么使用AVL fire ESE软件自带的优化模式来优化设计Soot和NOx?
  • ¥15 Ubuntu20.04.4.LTS系统如何下载安装VirtualBox虚拟机?
  • ¥15 如何用QDomDocument读取内容为空格的xml数据
  • ¥15 请阅读下面代码,帮我修改下代码