PHP header的一些用法

<?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);

 

你可能感兴趣的:(header)