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数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
php tp验证表单与自动填充函数代码
Feb 22 PHP
php截取后台登陆密码的代码
May 05 PHP
深入PHP操作MongoDB的技术总结
Jun 02 PHP
php使用正则过滤js脚本代码实例
May 10 PHP
百度地图API应用之获取用户的具体位置
Jun 10 PHP
php判断并删除空目录及空子目录的方法
Feb 11 PHP
php并发加锁示例
Oct 17 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
PHP基本语法
Mar 31 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
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
Email+URL的判断和自动转换函数
2006/10/09 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
Python映射拆分操作符用法实例
2015/05/19 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
Django如何自定义分页
2018/09/25 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
美国性感女装网站:bebe
2017/03/04 全球购物
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
证婚人经典证婚词
2014/01/09 职场文书
财务总监岗位职责
2014/03/07 职场文书
自我鉴定标准格式
2014/03/19 职场文书
经济管理专业求职信
2014/06/09 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
农村党员干部承诺书
2015/05/04 职场文书
离婚财产分割协议书
2015/08/11 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python
使用Django框架创建项目
2022/06/10 Python