当使用readfile() – 在Apache上使用PHP时 – 文件会立即读入Apache的输出缓冲区并完成PHP脚本执行,或者PHP脚本执行是否等到客户端完成下载文件(或服务器超时,以先发生者为准)?

记录器的背景故事:

我有一个网站,里面有很多大型mp​​3文件(当地教会的布道).并非所有音频存档中的文件都被下载,因此/sermon/{filename}.mp3路径被重写为真正执行/sermon.php?filename={filename},如果允许下载该文件,则内容type设置为“audio / mpeg”,文件使用readfile()流出.我一直在接受投诉(几乎全部来自通过3G下载流媒体的iPhone用户)文件没有完全下载,或者他们在大约10或15分钟后切断了.当我从带有readfile()的文件流式传输切换到只是重定向到文件 – header(“Location:$file_url”); – 所有的投诉都消失了(我甚至检查了一些用户,他们可以根据需要可靠地重现问题).

这让我怀疑当使用readfile()时,PHP脚本引擎一直在使用,直到文件完全下载,但我找不到任何确认或否认这个理论的引用.我承认我在ASP.NET世界中更像是家,而dotNet等效的readfile()会立即将整个文件推送到IIS输出缓冲区,因此ASP.NET执行管道可以独立于文件的传递而完成到最终客户端…是否有与PHP Apache相同的行为?

php大文件 readfile,php – Readfile()和大文件相关推荐

  1. 多线程读取大文件,尤其是对日志文件分析很有用。

    我在之前的公司里工作的时候,他们要求我做一个能够分析IIS日志的程序,可我做来做去,也只能做到,1个G的文件读取在140秒左右.愁了很久,想到了用多线程读取大文件的方法,又发现文件读取流可以有很多个, ...

  2. node 生产的env文件怎么注入_前端各种文件上传攻略,从小图片到大文件断点续传...

    写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...

  3. python保存大列表(list)数据到文件并后续重新加载为列表(list)对象实战

    python保存大列表(list)数据到文件并后续重新加载为列表(list)对象实战 笔者遇到的问题是这样的, 在做机器学习模型的时候,有的时候会使用相关性分析的方法来进行特征的筛选,去除冗余特征,降 ...

  4. php怎样加密文件,如何使用php加密大文件并通过命令行解密?

    我正在用 PHP编写一个小脚本来备份我的文件.在我从服务器传输文件之前,我想加密它们. 我在我的脚本的早期版本中通过在我的Linux服务器上使用exec()和OpenSSL来做到这一点.现在我正在寻找 ...

  5. 加快windows上对大文件,以及很多很多小文件进行不同磁盘拷贝的速度——windows上的最快拷贝软件FastCopy

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 加快windows上对大文件,以及很多很多小文件进行不同磁盘拷贝的速度--windows上的最快拷贝软件FastCopy ...

  6. file 选择的文件胖多有多大_「HTML5 进阶」FileAPI 文件操作实战,内附详细案例,建议收藏...

    FileAPI 介绍 HTML5 为我们提供了 File API 相关规范.主要涉及 File 接口 和 FileReader 对象 . 本文整理了兼容性检测.文件选择.属性读取.文件读取.进度监控. ...

  7. 大数据WE阶段(十七)文件上传

    文件上传 一.概述 在web开发中经常需要从客户端向服务端上传文件 , 如: 照片 . 文件 , 这些通常都需要web开发中的文件上传技术实现. 二. 文件上传开发步骤 提供一个带有文件上传项的表单 ...

  8. mysql 日志 超过 m,linux 下查找大日志文件,比如大于500M的文件

    在实际生产环境中,有的时候有些文件我们不知道占用多大,这个时候我们需要进行查找命令来进行查看占用文件的大小,从而达到文件的清理,释放磁盘,保障磁盘充足,让网站资源不浪费,稳定运行,那么我们需要在lin ...

  9. java 文件分隔_java 实现大文件分隔成多个小文件

    public class FileTest { /** * 文件分隔器:给定文件的路径和每一块要拆分的大小,就可以按要求拆分文件 * 如果指定的块给原文件都还要大,为了不动原文件,就生成另一个文件,以 ...

  10. java实现对大文件切割下载_Java实现大文件的切割与合并操作示例

    Java实现大文件的切割与合并操作示例 发布时间:2020-09-27 02:25:08 来源:脚本之家 阅读:99 作者:HiBoyljw 本文实例讲述了Java实现大文件的切割与合并操作.分享给大 ...

最新文章

  1. solidity智能合约[25]-转账的3种方式与比较
  2. lua如何判断是否支持cookie_如何判断家里暖气片是否需要更换
  3. 将矩阵转为一行_矩阵与矩阵乘积简介
  4. WPF中Expander与ListBox(ItemsControl)嵌套中的问题
  5. Koa2框架从0开始构建预告片网站
  6. Python正则表达式集锦
  7. mysql存储过程中文乱码_mysql存储过程碰到中文乱码问题
  8. 判断一个字符串是否全部不相同
  9. python实现api接口的脚本_Zabbix批量添加主机,Python调用api接口方式【脚本定制】...
  10. Android RecyclerView快速上手
  11. 寻仙服务器要维护多久,新寻仙正式服5.2.62.1版本更新公告
  12. 【Linux】Linux中常见的文件管理以及常用的符号命令的总结
  13. python可以处理哪些文件_Python(文件处理)
  14. 如何知道域名是否解析成功
  15. android虚拟pdf打印机,虚拟打印机PDF
  16. ZoomIt 演示辅助软件 屏幕放大镜
  17. ubuntu 18.04 review board安装及svn设置pre-commit 和post-cmmit
  18. WPS Excel快捷键
  19. 这是我见过最好的唐诗,而且通俗易懂
  20. Kent Beck : 领导的敏捷潮

热门文章

  1. [应用方案]基于新唐单片机的电压电流表头制作(INA226)
  2. 如何用express写接口
  3. 与MySQL零距离—子查询与连接
  4. Oracle数据库用管理员登录,oracle数据库关于用户登录
  5. 不对齐 谷歌浏览器_这8个不为人知的高效隐藏技巧,让你的谷歌浏览器好用10倍!...
  6. 算法题,输出是父的元素以及其所有下属
  7. struts2+spring3+ibatis2.3+jquery_ajax1.7
  8. STM32配合cubeMX硬件I2C驱动0.96寸OLED
  9. 软件测试工作的必会的三个阶段!
  10. php mpdf 设置字体,php 使用mpdf实现指定字段配置字体样式