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 相关文章推荐
基于文本的留言簿
Oct 09 PHP
基于mysql的bbs设计(三)
Oct 09 PHP
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
php上的memcache和memcached两个pecl库
Mar 29 PHP
php 过滤器实现代码
Aug 09 PHP
PHP超级全局变量数组小结
Oct 04 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
Dec 07 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
PHP中include和require的区别实例分析
May 07 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 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
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
Javascript使用post方法提交数据实例
2015/08/03 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
Python使用python-docx读写word文档
2019/08/26 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
在python中求分布函数相关的包实例
2020/04/15 Python
深入浅析Python代码规范性检测
2020/07/31 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
什么是规则表达式
2012/05/03 面试题
感情真挚的毕业生求职信
2014/07/19 职场文书
班级团队活动方案
2014/08/14 职场文书
十佳家长事迹材料
2014/08/26 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
小学英语听课心得体会
2016/01/14 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书