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 相关文章推荐
BBS(php &amp; mysql)完整版(一)
Oct 09 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
PHP使用PHPMailer发送邮件的简单使用方法
Nov 12 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 PHP
php购物车实现方法
Jan 03 PHP
PHP7.1新功能之Nullable Type用法分析
Sep 26 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
PHP实现搜索时记住状态的方法示例
May 11 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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/12/06 PHP
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
JS中数组重排序方法
2016/11/11 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
python结合API实现即时天气信息
2016/01/19 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
django 模型字段设置默认值代码
2020/07/15 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
工商管理专业自荐信
2014/06/03 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
南极大冒险观后感
2015/06/05 职场文书
电影雷锋观后感
2015/06/10 职场文书
工作证明书
2015/06/15 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang