PHP的文件下载方法(并解决IOS自带浏览器下载乱码后缀显示HTML的问题)

 /*封装函数:参数说明----$file_name:文件名$file_sub_dir:文件下载的子路径*/function file_dowm($file_name,$file_sub_dir){//文件转码
//  $file_name=iconv("utf-8","gb2312",$file_name);//使用绝对路径$file_path=$_SERVER['DOCUMENT_ROOT']."$file_sub_dir";//打开文件---先判断再操作if(!file_exists($file_path)){echo "文件不存在";return ; //直接退出}ob_end_clean();//存在--打开文件$fp=fopen($file_path,"r");//获取文件大小$file_size=filesize($file_path);//  //这里可以设置超过多大不能下载
//  if($file_size>5000) {//      echo "文件太大不能下载";
//      return;
//  }
//     header('Content-type:application/pdf');//下载的文件类型信息(指定文件类型下载)
//  http 下载需要的响应头
//  header("Content-type: application/octet-stream"); //返回的文件header('Content-type:application/x-www-form-urlencoded');//下载的文件类型信息(加了这个IOS的乱码文件问题)header("Accept-Ranges: bytes");   //按照字节大小返回header("Accept-Length: $file_size"); //返回文件大小header( 'Content-Disposition: attachment; filename*=UTF-8\'\'' .  rawurlencode($file_name).'' );//解决中文乱码//设置大小输出$buffer=1024;//为了下载安全,我们最好做一个文件字节读取计数器$file_count=0;//判断文件指针是否到了文件结束的位置(读取文件是否结束)while(!feof($fp) && ($file_size-$file_count)>0){$file_data=fread($fp,$buffer);//统计读取多少个字节数$file_count+=$buffer;//把部分数据返回给浏览器echo $file_data;}ob_clean();flush();//关闭文件fclose($fp);}

文件下载-解决IOS自带浏览器下载乱码的问题相关推荐

  1. Window10 ie自带浏览器下载乱码

    public String showNameHandle(HttpServletRequest request,String showName){//判断是否是IE11Boolean flag= re ...

  2. 塞班自带浏览器下载路径问题

    作者:Yan/xyzroundo 不能退出浏览器,不能安装,否则找不到文件了,它会自动删除! 在E:/System/Temp下,图片铃声和视频会在下载后询问保存位置并自动打开(播放),SIS.JAR则 ...

  3. ios自带NSURLConnection下载文件

    //同步下载,同步请求的主要代码如下 - (IBAction)downLoad:(id)sender { NSString *urlAsString=@"http://7jpnsh.com1 ...

  4. 使用IE浏览器下载文件,文件名中文名称乱码

    问题描述:本地windows中tomcat下使用Servlet实现文件下载功能时,使用IE浏览器下载出现文件名乱码 解决办法:判断当前浏览器属于哪一种类型的浏览器 注意的是:在Windows 10 中 ...

  5. 解决android 浏览器下载apk后提示 “无法打开文件”

    感谢原作者的总结 在项目中遇到安卓自带浏览器下载成功 , 但无法打开已下载的APK文件自动安装的问题,特别是三星系列的手机普遍存在这种问题,google后发现也有朋友遇到类似的问题: http://b ...

  6. iOS手机自带浏览器Safari无法长按保存图片

    今日登录CSDN,竟然要强制绑定手机号,突然感觉不到爱了. iOS自带浏览器无法按弹出弹窗,可能是因为被禁止了系统默认菜单 对这个属性的描述,参考添加链接描述 -webkit-touch-callou ...

  7. 360 html页面乱码,360浏览器出现乱码的解决方法

    在使用浏览器的时候,出现乱码的这种情况非常的少见,如果用户在使用浏览器的时候出现了乱码的情况要如何解决呢,首先我们要知道这是由于什么引起的,有可能是因为杀毒的过程中使用了什么功能,也可以是因为中毒,然 ...

  8. 解决ios在微信内置浏览器中video播放的全屏问题

    video 标签在部分的安卓微信和iOS的微信浏览器上点击播放会默认全屏展示 解决部分安卓默认全屏展示,给video标签加如下属性 x5-video-player-type="h5-page ...

  9. 微信自带浏览器被输入法阻挡文本框的 jQuery 解决方法 by FungLeo

    微信自带浏览器被输入法阻挡文本框的 jQuery 解决方法 by FungLeo 前言 做好了项目之后,在各种浏览器里面测试,都没有问题.很高兴,交付后端使用.然而发现在微信自带浏览器里面,却是出现了 ...

  10. python输出到文件乱码_解决python解析文件时输出乱码

    首先获取到json模块,encoding指定文件编码utf-8,errors报错时忽略错误,print()输出结果看看是否有问题. # -*- coding: utf-8 -*- import jso ...

最新文章

  1. WCF分布式开发必备知识(2):.Net Remoting
  2. Microsoft 邀您参加云对话!
  3. 标准SQL的update语句三种用法
  4. bootstrap算法_决策树算法之随机森林
  5. Spark On Yarn 运行模式(详细)
  6. android开发(44) 使用了 SoundPool 播放提示音
  7. 【剑指 offer】—— 浮点数的相等性判断
  8. 最新版Ontrack EasyRecovery电脑数据恢复软件应用
  9. 首届“十大最具价值”互联网创新创业项目遴选榜单丨Xtecher联合中投协权威发布...
  10. 解决服务器密码忘记,查看Xshell中已经保存的密码
  11. UPD网络连接服务端
  12. 主要计算机硬件部件,计算机硬件各部件的主要功能
  13. 性能测试实战(七):数据驱动
  14. 安卓app开发菜鸟教程!淘汰了80%的Android面试者,满满干货指导
  15. 打篮球的妙处——让男人更帅,更有魅力
  16. 微信小程序工具的使用及其参数含义。
  17. 大数据基础知识(上)
  18. Unity 从零开始的2D游戏开发 —— 角色移动脚本
  19. 路人超能100手游如何用电脑玩 路人超能100PC电脑版玩法教程
  20. ajax 微信code获取_微信网页授权——获取code、access_token、openid,及跨域问题解决...

热门文章

  1. FastJson解析错误:com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze
  2. 基于量子计算的md5密码哈希破解方法
  3. 认识DTU什么是4GDTU设备
  4. pyltp依存句法分析_依存句法分析 python pyltp实现
  5. 上帝掷骰子吗:量子物理史话
  6. 白帽黑客教主 TK 告诉你,黑客的游戏 CTF 究竟是什么 | 硬创公开课总结文+视频...
  7. java 抽象属性 设计_设计模式之抽象文档模式
  8. python监听网络请求_Python实现一个服务器监听多个客户端请求
  9. Winform做一个仿360界面
  10. 利用Jquery实现动态增加、修改html元素