前言
今天上班遇到个问题,客户的苹果手机下载文件,竟然出现乱码,解决方法如下
对文件名urlencode然后再放入header,然后问题就解决了。

                                 $out_filename="这里是你文件的地址"; $out_filename="这里是你要下载的文件名.zip"; $file = @fopen($val['url'], "r");if($file){ $content="";while(!feof($file)){//测试文件指针是否到了文件结束的位置$data=fread($file,1024);$content.=$data;}fclose($file); $filesize = strlen($content);$ua = $_SERVER["HTTP_USER_AGENT"]; header("Content-type: text/HTML; charset=utf-8");  header('Accept-Ranges: bytes');header('Accept-Length: ' . $filesize);header('Content-Transfer-Encoding: binary');header('Content-type: application/octet-stream');//$out_filename = urlencode($out_filename);//header('Content-Disposition: attachment; filename=' . $out_filename);$encoded_filename = $out_filename;$encoded_filename = str_replace("+", "%20", $encoded_filename);if(preg_match("/MSIE/", $ua) || preg_match("/Trident\/7.0/", $ua)){header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');} else if (preg_match("/Firefox/", $ua)) {header('Content-Disposition: attachment; filename*="utf8\'\'' . $out_filename . '"');} else {header('Content-Disposition: attachment; filename="' . $out_filename . '"');}header('Content-Type: application/octet-stream; name=' . $out_filename);ob_clean();flush();echo $content;die();}else{echo "文件不存在";}

PHP下载各类文件(并且兼容苹果手机乱码)相关推荐

  1. POI、easyExcel等下载excel文件,内容出现乱码的另类解决思路

    最近项目中需要一个导出excel的 功能,但是呢,开发完成之后,可以下载,却出现下载下来的文件内容一直出现乱码的情况,是那种"锟斤铐"这样的乱码 文件. 经过我严密的分析,以及查询 ...

  2. 浏览器下载blob文件流(兼容IE浏览器和其他主流浏览器)

    在vue项目中,一般会使用axios做ajax请求,此时会封装响应拦截器,一般约定 response.data.code === '000000' 时响应通过,但是在服务端返回文件流时,是没有 res ...

  3. 下载文件,文件为中文名出现乱码的解决办法

    在进行文件下载的时候,很多时候,我们的下载文件为中文名字,这时候下载的文件经常出现中文乱码的现象,下面提供一个处理文件名的方法,使得下载的文件不再出现中文乱码. public static Strin ...

  4. 下载文件时,文件名乱码。

    Unicode网页中上传下载文件时发生文件名乱码的问题 最 近有一个需要支持unicode的项目在上传和下载文件时遇到文件名乱码问题. 项目背景, 这个项目关键之处在于需要支持unicode以及支持M ...

  5. 浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案

    浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案 参考文章: (1)浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案 (2)https:// ...

  6. php 下载的文件损坏,PHP下载文件损坏与打开乱码问题解决办法

    以前我们是使用php生成下载文件时使用中文乱码了这个问题不会影响到文件的打开使用了,但小编今天 碰到下载文件打开乱码与文件损坏问题了,那么此问题要如何来处理 ?具体操作步骤如下 最近更新一个项目,下载 ...

  7. 通过swagger下载的文件乱码解决方法,求解

    通过swagger下载的文件乱码解决方法,求解 参考文章: (1)通过swagger下载的文件乱码解决方法,求解 (2)https://www.cnblogs.com/shuiqian/p/10568 ...

  8. 苹果手机上下载的文件在哪里?

    (图文无关) 昨天在微信收到一个大文件,73M,突然意识到,微信升级,终于冲过了30M的文件传输限制.接下来的问题,这是一个开发工程文件,要在电脑开发环境使用,怎么把这个文件传输到电脑? 正常的方式是 ...

  9. IE中点击链接下载EXCEL文件直接以乱码方式打开解决

    我需要在页面上通过javascript控制,点击一个链接下载excel文件模板,总觉得方法都写对了,可每次点击都是新开一个窗口,显示的全是乱码.几日以来一直被这个问题困扰,今天无意中得知这个方法,试了 ...

最新文章

  1. c++初学者使用文件流需要了解的一些坑(持续更新)
  2. 【CEO赠书】《精益数据分析》:如何构建数据指标体系
  3. 用python绘制图形_使用Python的turtle画炫酷图形
  4. python excelwriter保存路径_Python和Excel 终于可以互通了!!
  5. 从pg_hba.conf文件谈谈postgresql的连接认证
  6. 射命丸文 (Standard IO)
  7. zabbix mysql脚本_zabbix监控mysql脚本
  8. MCMS 基于SpringBoot 2架构
  9. 2017.10.11 灾难 失败总结
  10. TensorFlow 教程 --新手入门--1.3 安装实例
  11. OpenShift 4 - 利用 File Integrity Operator 实现对集群节点进行入侵检测
  12. pptx打不开,未安装该文件类型的文本转换程序~[解决方案]
  13. PixelShuffler原理
  14. 【对讲机的那点事】公网对讲机的物联卡你了解吗?
  15. 计算思维不是计算机科学的核心素养,信息技术学科核心素养
  16. love2d ffi 窗口移动
  17. GDK动态代理原理分析
  18. 安装mysql时一直卡在starting the server这一位置,解决办法
  19. 1416711-60-8,DBCO-PEG4-Hydroxyl,DBCO-PEG4-alcohol,DBCO-PEG4-OH含有DBCO部分和末端伯羟基的PEG连接剂
  20. android googleplay 支付接入

热门文章

  1. 51自学网java基础教程 花钱买来
  2. adpcm 解码音量小_音质提升不只是一点点HiFi捆绑利器aune BU1便携解码耳放评测
  3. 22款奔驰E260L加装23P驾驶辅助系统,诸多组件来帮忙
  4. 看陈广老师c#参考视频总结(第八篇)
  5. 乘法原理的例题和答案_乘法原理的例题
  6. uniapp微信小程序分列选择省市区
  7. [转]人工智能 Java 坦克机器人系列: 神经网络,下部
  8. adb shell 命令大全
  9. android初中级面试必备
  10. 苹果手机怎么强制重启