php支持多线程下载的例子
php支持多线程下载的例子,主要用到了http协议中的RANGE相关的内容,有需要的朋友可以参考下。
<?php
header("Cache-Control: public");
header("Accept-Ranges: bytes");
$file = "a.7z";
$filename = "a.7z";
$size=filesize($file);
$size1=$size-1;
//获得字节范围
if(isset($_SERVER['HTTP_RANGE'])) {
list($name, $range) = explode("=",$_SERVER['HTTP_RANGE']);
$length=$size1-$range;
header("HTTP/1.1 206 Partial Content"); //http协议头状态码,表示以部分内容传输
header("Content-Range: bytes ".$range."-".$size1."/".$size);
}else{
$length = $size;
}
header("Content-Length: $length");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$filename);
$fp=fopen($file,"rb");
//设定文件指针位置
fseek($fp,$range);
while(!feof($fp)){
set_time_limit(0);
echo fread($fp,1024);
flush();
ob_flush();
}
fclose($fp);
exit;
?>
您可能感兴趣的文章:
php不支持多线程怎么办
php socket多线程服务器的实例分享
php多线程之管道通信的例子
php与shell实现多线程的简单例子
php支持多线程下载的例子
大型系统上PHP令人不爽的九大原因
php 多线程抓取网页的代码分享
php所使用的软件有哪些
PHP之pthread拓展使用以及坑
HTML5 Web Worker的介绍(附示例)