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面试题(对属性或方法的访问控制)
Sep 13 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
CI框架Session.php源码分析
Nov 03 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
PHP5.3新特性小结
Feb 14 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 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 DOS攻击实现代码(附如何防范)
2012/05/29 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
Python中非常实用的一些功能和函数分享
2015/02/14 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
python文件操作的简单方法总结
2019/11/07 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
奥巴马的演讲稿
2014/05/15 职场文书
会议主持人开场白台词
2015/05/28 职场文书
详解mysql三值逻辑与NULL
2021/05/19 MySQL
Python内置数据结构列表与元组示例详解
2021/08/04 Python
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers