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&amp;&amp;mysql)五
Oct 09 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
php遍历数组的4种方法总结
Jul 05 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
PHP判断字符串长度的两种方法很实用
Sep 22 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
PHP实现字符串的全排列详解
Apr 24 PHP
php中关于换行的实例写法
Sep 26 PHP
PHP 实现缩略图
Mar 09 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
我的群发邮件程序
2006/10/09 PHP
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
php google或baidu分页代码
2009/11/26 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
2019/09/10 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
深入理解Python3中的http.client模块
2017/03/29 Python
Python文件的读写和异常代码示例
2017/10/31 Python
理解python中生成器用法
2017/12/20 Python
python实现图片九宫格分割
2021/03/07 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
进程的查看和调度分别使用什么命令
2013/12/14 面试题
汽车技术服务英文求职信范文
2014/01/02 职场文书
安全横幅标语
2014/06/09 职场文书
红旗渠导游词
2015/02/09 职场文书
试用期辞职信范文
2015/03/02 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
Apache压力测试工具的安装使用
2021/03/31 Servers
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技