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 相关文章推荐
基于mysql的论坛(2)
Oct 09 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
Yii实现MySQL多数据库和读写分离实例分析
Dec 03 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
使用PHP接受文件并获得其后缀名的方法
Aug 05 PHP
PHP+swoole实现简单多人在线聊天群发
Jan 19 PHP
php判断/计算闰年的方法小结【三种方法】
Jul 06 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 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.MVC的模板标签系统(五)
2006/09/05 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
总结对比php中的多种序列化
2016/08/28 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
python学习手册中的python多态示例代码
2014/01/21 Python
python中Genarator函数用法分析
2015/04/08 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
python switch 实现多分支选择功能
2020/12/21 Python
Python如何telnet到网络设备
2021/02/18 Python
骆驼官方商城:CAMEL
2016/11/22 全球购物
nohup的用法
2012/11/26 面试题
瀑布模型都有哪些优缺点
2014/06/23 面试题
大专自我鉴定范文
2013/10/01 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
优秀毕业生求职信
2014/06/05 职场文书
平安工地汇报材料
2014/08/19 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS