php利用header函数下载各种文件
本文实例为大家分享了phpheader函数下载文件实现代码,供大家参考,具体内容如下
http://www.php.net/manual/en/function.readfile.php
<?php
/**
*下载文件
*header函数
*
*/
dl_file($_GET['filename']);
functiondl_file($file)
{
$file=".//images//".$file;
//First,seeifthefileexists
if(!is_file($file))
{
die("<b>404Filenotfound!</b>");
}
//Gatherreleventinfoaboutfile
$len=filesize($file);
$filename=basename($file);
$file_extension=strtolower(substr(strrchr($filename,"."),1));
//ThiswillsettheContent-Typetotheappropriatesettingforthefile
switch($file_extension)
{
case"pdf":
$ctype="application/pdf";
break;
case"exe":
$ctype="application/octet-stream";
break;
case"zip":
$ctype="application/zip";
break;
case"doc":
$ctype="application/msword";
break;
case"xls":
$ctype="application/vnd.ms-excel";
break;
case"ppt":
$ctype="application/vnd.ms-powerpoint";
break;
case"gif":
$ctype="image/gif";
break;
case"png":
$ctype="image/png";
break;
case"jpeg":
case"jpg":
$ctype="image/jpg";
break;
case"mp3":
$ctype="audio/mpeg";
break;
case"wav":
$ctype="audio/x-wav";
break;
case"mpeg":
case"mpg":
case"mpe":
$ctype="video/mpeg";
break;
case"mov":
$ctype="video/quicktime";
break;
case"avi":
$ctype="video/x-msvideo";
break;
//Thefollowingareforextensionsthatshouldn'tbedownloaded
//(sensitivestuff,likephpfiles)
case"php":
case"htm":
case"html":
case"txt":
die("<b>Cannotbeusedfor".$file_extension."files!</b>");
break;
default:
$ctype="application/force-download";
}
$file_temp=fopen($file,"r");
//Beginwritingheaders
header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Cache-Control:public");
header("Content-Description:FileTransfer");
//Usetheswitch-generatedContent-Type
header("Content-Type:$ctype");
//Forcethedownload
$header="Content-Disposition:attachment;filename=".$filename.";";
header($header);
header("Content-Transfer-Encoding:binary");
header("Content-Length:".$len);
//@readfile($file);
echofread($file_temp,filesize($file));
fclose($file_temp);
exit();
}
?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。