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 Zip压缩 在线对文件进行压缩的函数
May 26 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
一段实用的php验证码函数
May 19 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
PDO::commit讲解
Jan 27 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
Zend Studio (eclipse)使用速度优化方法
2011/03/23 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
浅谈Python中的私有变量
2018/02/28 Python
python文件读写代码实例
2019/10/21 Python
python实现大学人员管理系统
2019/10/25 Python
python如何实现单链表的反转
2020/02/10 Python
django在开发中取消外键约束的实现
2020/05/20 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
法学专业毕业生自荐信
2014/06/11 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers