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生成缩略图的类代码
Oct 02 PHP
php 操作调试的方法
Jul 12 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
PHP读取RSS(Feed)简单实例
Jun 12 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
php简单实现sql防注入的方法
Apr 22 PHP
PHP打印输出函数汇总
Aug 28 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP实现的获取文件mimes类型工具类示例
Apr 08 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 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
关于js与php互相传值的介绍
2013/06/25 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
你的 mixin 真的兼容 ECMAScript 5 吗?
2013/04/11 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
Python对excel文档的操作方法详解
2018/12/10 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
长安大学毕业生自我鉴定
2014/01/17 职场文书
学生安全教育材料
2014/02/14 职场文书
小学生综合素质评语
2014/04/23 职场文书
党性分析自查总结
2014/10/14 职场文书
工作作风建设心得体会
2014/10/22 职场文书
2014年护士长工作总结
2014/11/11 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
大学生读书笔记范文
2015/07/01 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python
Python 绘制多因子柱状图
2022/05/11 Python