PHP下载文件的函数实例代码
通过函数完成下载文件的PHP功能代码
functiondownload($url,$filename){
//获得文件大小,防止超过2G的文件,用sprintf来读
$filesize=sprintf("%u",filesize($url));
if(!$filesize){
return;
}
header("Content-type:application/octet-stream\n");//application/octet-stream
header("Content-type:unknown/unknown;");
header("Content-disposition:attachment;filename=\"".$filename."\"");
header('Content-transfer-encoding:binary');
if($range=getenv('HTTP_RANGE')){//当有偏移量的时候,采用206的断点续传头
$range=explode('=',$range);
$range=$range[1];
header("HTTP/1.1206PartialContent");
header("Date:".gmdate("D,dMYH:i:s")."GMT");
header("Last-Modified:".gmdate("D,dMYH:i:s",filemtime($url))."GMT");
header("Accept-Ranges:bytes");
header("Content-Length:".($filesize-$range));
header("Content-Range:bytes".$range.($filesize-1)."/".$filesize);
header("Connection:close"."\n\n");
else{
header("Content-Length:".$filesize."\n\n");
$range=0;}
loadFile($url);}
functionloadFile($filename,$retbytes=true){
$buffer='';$cnt=0;$handle=fopen($filename,'rb');
if($handle===false){returnfalse;
}while(!feof($handle)){
$buffer=fread($handle,1024*1024);
echo$buffer;
ob_flush();
flush();
if($retbytes){
$cnt+=strlen($buffer);
}
}
$status=fclose($handle);
if($retbytes&&$status){
return$cnt;//returnnum.bytesdeliveredlikereadfile()does.
}
return$status;}
输入2个参数即可完成下载download($url,$filename)
以上所述是小编给大家介绍的PHP下载文件的函数实例代码的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下