PHPheader()函数用法
[codes=php]
/***Function:PHPheader()examples(PHP)
**Desc:Someexamplesonhowtousetheheader()functionofPHPYoufindadetailedtutorialatexpertsrt.com(English)oratffm.junetz.de(German).Theseisalsoagoodhelpaboutcachingatweb-caching.com.
**Example:seebelow.<br/><br/><b>Tip:</b>Youcanusethesesitestocheckyourheaders:<a;?>[/codes]
代码来自:http://codedump.jonasjohn.de/download/headers.txt
//下面是http://www.php.net/manual/en/function.header.php
的例子用于下载文件用
functiondl_file($file){
//First,seeifthefileexists
if(!is_file($file)){die(“404Filenotfound!“);}
//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(“Cannotbeusedfor“.$file_extension.”files!“);break;
default:$ctype=”application/force-download”;
}
//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);
exit;
}
共同學習,寫下你的評論
評論加載中...
作者其他優質文章