当前位置:   article > 正文

PHP限制文件下载,php文件下载(可限制下载速度)实现代码_PHP教程

php限制下载非静态资源文件

在php中文件下载会利用到header fopen fread三个主要函数,同时还有一些辅助函数如判断文件存在file_exists is_file等函数,下面我们来看一款文件下载可以限制下载速度实例

在php教程中文件下载会利用到header fopen fread三个主要函数,同时还有一些辅助函数如判断文件存在file_exists is_file等函数,下面我们来看一款文件下载可以限制下载速度实例*/

$file = "test.mp3"; // file to be send to the client

$speed = 8.5; // 8,5 kb/s download rate limit

if(file_exists($file) && is_file($file)) {

header("cache-control: private");

header("content-type: application/octet-stream");

header("content-length: ".filesize($file));

header("content-disposition: filename=$file" . "%20");

flush();

$fd = fopen($file, "r");

while(!feof($fd)) {

echo fread($fd, round($speed*1024));

flush();

sleep(1);

}

fclose ($fd);

}

/*

flush

flush函数 刷新php程序的缓冲 实现echo动态输出

本函数实现的结果是页面不断地显示echo输出 的数据

for ($i=10; $i>0; $i--)

{

echo $i.'

';

ob_flush();

flush();

sleep(1);

}

ob_end_flush();

sleep

sleep() 函数延迟代码执行若干秒。

header

header() 函数向客户端发送原始的 http 报头。

认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 php 4 以及更高的版本中,您可以使用输出缓存来解决此问题):

filesize 获取文件大小

fread 读取由fopen打开的文件内容

http://www.bkjia.com/PHPjc/444821.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/444821.htmlTechArticle在php中文件下载会利用到header fopen fread三个主要函数,同时还有一些辅助函数如判断文件存在file_exists is_file等函数,下面我们来看一款文件...

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/338521
推荐阅读
相关标签
  

闽ICP备14008679号