php readfile下载大文件失败的解决方法


Posted in PHP onMay 22, 2017

本文实例讲述了php readfile下载大文件失败的解决方法。分享给大家供大家参考,具体如下:

大文件有200多M,只下载了200K就提示下载完成,且不报错。

原因是PHP内存有限制,需要改为按块下载,就是把大文件切块后逐块下载

if (file_exists($file))
{
  if (FALSE!== ($handler = fopen($file, 'r')))
  {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: chunked'); //changed to chunked
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    //header('Content-Length: ' . filesize($file)); //Remove
    //Send the content in chunks
    while(false !== ($chunk = fread($handler,4096)))
    {
      echo $chunk;
    }
  }
  exit;
}
echo "<h1>Content error</h1><p>The file does not exist!</p>";

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
提升PHP执行速度全攻略
Oct 09 PHP
php共享内存段示例分享
Jan 20 PHP
PHP获取当前页面URL函数实例
Oct 22 PHP
php强制更新图片缓存的方法
Feb 11 PHP
PHP生成静态HTML页面最简单方法示例
Apr 09 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
基于命令行执行带参数的php脚本并取得参数的方法
Jan 25 PHP
使用symfony命令创建项目的方法
Mar 17 PHP
Yii2中cookie用法示例分析
Jul 18 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 #PHP
PHP中trait使用方法详细介绍
May 21 #PHP
php写app接口并返回json数据的实例(分享)
May 20 #PHP
PHP实现json_decode不转义中文的方法
May 20 #PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 #PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 #PHP
Yii框架实现的验证码、登录及退出功能示例
May 20 #PHP
You might like
PHP编程与应用
2006/10/09 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
浅谈React高阶组件
2018/03/28 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
python unichr函数知识点总结
2020/12/16 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
澳大利亚最受欢迎的女士度假服装:Kabana Shop
2020/10/10 全球购物
学习党课思想汇报
2013/12/29 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
保护动物倡议书
2014/04/15 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
自荐信怎么写
2015/03/04 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python