服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - PHP教程 - php readfile下载大文件失败的解决方法

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

2021-05-20 17:39陈小峰_iefreer PHP教程

这篇文章主要介绍了php readfile下载大文件失败的解决方法,涉及php针对大文件的分割及逐块下载操作实现技巧,需要的朋友可以参考下

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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教程Yii2.0 Basic代码中路由链接被转义的处理方法

    Yii2.0 Basic代码中路由链接被转义的处理方法

    这篇文章主要介绍了Yii2.0 Basic代码中路由链接被转义的处理方法的相关资料,本文图文并茂介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧...

    骑猪南下7282021-03-01
  • PHP教程php异常处理方法实例汇总

    php异常处理方法实例汇总

    这篇文章主要介绍了php异常处理方法,实例汇总了常见的php异常处理技巧,非常具有实用价值,需要的朋友可以参考下...

    zhuzhao3282020-10-05
  • PHP教程谈谈 PHP7新增功能

    谈谈 PHP7新增功能

    php7发布已有半月,最近有时间了解一下php7的新特性,当然,这个版本最大的特点是性能的提升,对php7 新增功能的相关知识感兴趣的朋友一起学习吧...

    xiezhengcai3322020-12-07
  • PHP教程php实现从上传文件创建缩略图的方法

    php实现从上传文件创建缩略图的方法

    这篇文章主要介绍了php实现从上传文件创建缩略图的方法,涉及php操作上传文件及图片操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    不吃皮蛋4392020-09-16
  • PHP教程php版微信公众平台回复中文出现乱码问题的解决方法

    php版微信公众平台回复中文出现乱码问题的解决方法

    这篇文章主要介绍了php版微信公众平台回复中文出现乱码问题的解决方法,涉及php字符串编码转换的相关操作技巧,需要的朋友可以参考下...

    smiling5632021-03-02
  • PHP教程PhpStorm terminal无法输入命令的解决方法

    PhpStorm terminal无法输入命令的解决方法

    下面小编就为大家带来一篇PhpStorm terminal无法输入命令的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    PHP教程网11142021-03-09
  • PHP教程老生常谈PHP位运算的用途

    老生常谈PHP位运算的用途

    下面小编就为大家带来一篇老生常谈PHP位运算的用途。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    php中文网9672021-04-29
  • PHP教程php反射类ReflectionClass用法分析

    php反射类ReflectionClass用法分析

    这篇文章主要介绍了php反射类ReflectionClass用法,结合实例形式较为详细的分析了php反射类的概念、功能与具体使用方法,需要的朋友可以参考下...

    潇湘竹叶3462021-01-17