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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
PHP 配置open_basedir 让各虚拟站点独立运行
Nov 12 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 PHP
解析php时间戳与日期的转换
Jun 06 PHP
php分页函数完整实例代码
Sep 22 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
Mar 10 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
phpinfo无法显示的原因及解决办法
Feb 15 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去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python中str.format()详解
2017/03/12 Python
使用Python对Excel进行读写操作
2017/03/30 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python实现画圆功能
2018/01/25 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
python 消费 kafka 数据教程
2019/12/21 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
阿拉伯书店:Jamalon
2019/07/24 全球购物
合同协议书格式
2014/04/18 职场文书
综艺节目策划方案
2014/06/13 职场文书
文秘应届生求职信
2014/07/05 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android