<?php
//PHP header()函数用法
/*** Function: PHP header() examples (PHP)
*/
// fix 404 pages:
header(\'HTTP/1.1 200 OK\');
// set 404 header:
header(\'HTTP/1.1 404 Not Found\');
// set Moved Permanently header (good for redrictions)
// use with location header
header(\'HTTP/1.1 301 Moved Permanently\');
// redirect to a new location:
header(\'Location: http://www.example.org/\');
// redrict with delay:
header(\'Refresh: 10; url=http://www.example.org/\');
print \'You will be redirected in 10 seconds\';
// you could also use the HTML syntax:// <meta http-equiv="refresh" content="10;http://www.example.org/ />
// override X-Powered-By: PHP:
header(\'X-Powered-By: PHP/4.4.0\');
header(\'X-Powered-By: Brain/0.6b\');
// content language (en = English)
header(\'Content-language: en\');
// last modified (good for caching)
$time = time() - 60; // or filemtime($fn), etc
header(\'Last-Modified: \'.gmdate(\'D, d M Y H:i:s\', $time).\' GMT\');
// header for telling the browser that the content
// did not get changed
header(\'HTTP/1.1 304 Not Modified\');
// set content length (good for caching):
header(\'Content-Length: 1234\');
// Headers for an download:
header(\'Content-Type: application/octet-stream\');
header(\'Content-Disposition: attachment; filename="example.zip"\');
header(\'Content-Transfer-Encoding: binary\');
// load the file to send:readfile(\'example.zip\');
// Disable caching of the current document:
header(\'Cache-Control: no-cache, no-store, max-age=0, must-revalidate\');
header(\'Expires: Mon, 26 Jul 1997 05:00:00 GMT\');
// Date in the pastheader(\'Pragma: no-cache\');
// set content type:
header(\'Content-Type: text/html; charset=iso-8859-1\');
header(\'Content-Type: text/html; charset=utf-8\');
header(\'Content-Type: text/plain\');
// plain text file
header(\'Content-Type: image/jpeg\');
// JPG picture
header(\'Content-Type: application/zip\');
// ZIP file
header(\'Content-Type: application/pdf\');
// PDF file
header(\'Content-Type: audio/mpeg\');
// Audio MPEG (MP3,…) file
header(\'Content-Type: application/x-shockwave-flash\');
// Flash animation// show sign in box
header(\'HTTP/1.1 401 Unauthorized\');
header(\'WWW-Authenticate: Basic realm="Top Secret"\');
print \'Text that will be displayed if the user hits cancel or \';
print \'enters wrong login data\';
/*------------的例子用于下载文件用-------------------*/
function dl_file($file){
//First, see if the file exists
if (!is_file($file)) { die("404 File not found!"); }
//Gather relevent info about file
$len = filesize($file);
$filename = basename($file);
$file_extension = strtolower(substr(strrchr($filename,"."),1));
//This will set the Content-Type to the appropriate setting for the file
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;
//The following are for extensions that shouldn\'t be downloaded (sensitive stuff, like php files)
case "php":
case "htm":
case "html":
case "txt": die("Cannot be used for ". $file_extension ." files!"); break;
default: $ctype="application/force-download";
}
//Begin writing headers
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
//Use the switch-generated Content-Type
header("Content-Type: $ctype");
//Force the download
$header="Content-Disposition: attachment; filename=".$filename.";";
header($header );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$len);
@readfile($file);
exit;
}
/**********下載2************/
if (!@fopen($file,"r")) { die("404 File not found!"); }
header(\'Expires: 0\');
header(\'Pragma: public\');
header(\'Connection: close\');
header(\'Cache-Control: no-cache,must-revalidate\');
header(\'Content-Transfer-Encoding: binary\');
header(\'Content-Description: File Transfer\');
header(\'Content-Type: application/octet-stream\');
header(\'Content-Disposition: attachment; filename=\'.basename($file));
//header(\'Content-Length: \' . filesize($file));
@readfile($file);