php实现下载限制速度示例分享


Posted in PHP onFebruary 13, 2014
// local file that should be send to the client
$local_file = 'test-file.zip';
// filename that the user gets as default
$download_file = 'your-download-name.zip';
// set the download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file)) {
 // send headers
 header('Cache-control: private');
 header('Content-Type: application/octet-stream');
 header('Content-Length: '.filesize($local_file));
 header('Content-Disposition: filename='.$download_file);
 // flush content
 flush();
 // open file stream
 $file = fopen($local_file, "r");
 while (!feof($file)) {
 // send the current file part to the browser
 print fread($file, round($download_rate * 1024));
 // flush the content to the browser
 flush();
 // sleep one second
 sleep(1);
 }
 // close file stream
 fclose($file);
}
else {
 die('Error: The file '.$local_file.' does not exist!');
}
PHP 相关文章推荐
在PHP的图形函数中显示汉字
Oct 09 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
Oct 19 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
php实现encode64编码类实例
Mar 24 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
php实现异步数据调用的方法
Dec 24 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
Mar 21 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
PHP 断点续传实例详解
Nov 11 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
php解压文件代码实现php在线解压
Feb 13 #PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 #PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 #PHP
使用swoole扩展php websocket示例
Feb 13 #PHP
php实现图片添加水印功能
Feb 13 #PHP
php教程之phpize使用方法
Feb 12 #PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 #PHP
You might like
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
PHP应用JSON技巧讲解
2013/02/03 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
python3+PyQt5使用数据库表视图
2018/04/24 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
商务助理岗位职责
2013/11/13 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
感恩老师主题班会
2015/08/12 职场文书
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python