php控制文件下载速度的方法


Posted in PHP onMarch 24, 2015

本文实例讲述了php控制文件下载速度的方法。分享给大家供大家参考。具体实现方法如下:

<?php
 /*
 * set here a limit of downloading rate (e.g. 10.20 Kb/s)
 */
 $download_rate = 10.20;
 $download_file = 'download-file.zip'; 
 $target_file = 'target-file.zip';
 if(file_exists($download_file)){
  /* headers */
  header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
  header('Cache-control: private');
  header('Content-Type: application/octet-stream');
  header('Content-Length: '.filesize($download_file));
  header('Content-Disposition: filename='.$target_file);
  /* flush content */
  flush();
  /* open file */
  $fh = @fopen($download_file, 'r');
  while(!feof($fh)){
   /* send only current part of the file to browser */
   print fread($fh, round($download_rate * 1024));
   /* flush the content to the browser */
   flush();
   /* sleep for 1 sec */
   sleep(1);
  }
  /* close file */
  @fclose($fh);
 }else{
  die('Fatal error: the '.$download_file.' file does not exist!');
 }
?>

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

PHP 相关文章推荐
PHP中显示格式化的用户输入
Oct 09 PHP
php下通过POST还是GET来传值
Jun 05 PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
利用ajax和PHP实现简单的流程管理
Mar 23 PHP
PHP实现的多维数组去重操作示例
Jul 21 PHP
laravel框架实现敏感词汇过滤功能示例
Feb 15 PHP
浅谈Laravel中使用Slack进行异常通知
May 29 PHP
使用 PHPStorm 开发 Laravel
Mar 24 #PHP
php实现的通用图片处理类
Mar 24 #PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 #PHP
PHP实现CSV文件的导入和导出类
Mar 24 #PHP
php自定义urlencode,urldecode函数实例
Mar 24 #PHP
PHP数组相关函数汇总
Mar 24 #PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 #PHP
You might like
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
python爬虫使用cookie登录详解
2017/12/27 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
在校生党员自我评价
2013/09/25 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
大学生就业策划书范文
2014/04/04 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
行政主管岗位职责
2015/02/03 职场文书
python中subplot大小的设置步骤
2021/06/28 Python