您的位置:首页 > 编程语言 > PHP开发

php惯用的header:301,302, Redirects, 404,及文档类型

2014-08-05 11:46 288 查看
PHP is not limited to outputting html. PHP can output images, pdf, javascript files, etc. Browsers determine
what type of content is by analyzing the headers sent. In this tutorial I will present you with some examples of how to send headers. To send PHP header use the function header(). You must call this function before any output. Use the function headers_sent()
to check whether the headers have been sent and output started. 

301 moved permanently (redirect): 
<?php 

header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.example.com');

die();
?> 


302 moved temporarily(redirect): 
<?php 

header('Location: http://www.example.com');

die();
?> 


404 Page Not Found: 
<?php 

header('HTTP/1.1 404 Not Found');
?> 


Service not avaliable: 
<?php 

header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 60');
?> 


CSS: 
<?php

header('Content-Type: text/css');
?> 


Javascript header: 
<?php 

header('Content-Type: application/javascript');
?> 


Images:
For JPEG(jpg): 
<?php 

header('Content-Type: image/jpeg');
?> 

For PNG: 
<?php 

header('Content-Type: image/png');
?> 

For BMP: 
<?php 

header('Content-Type: image/bmp');
?> 


PDF (output pdf with php): 
<?php 

header('Content-Type: application/pdf');

echo file_get_contents('filename.pdf');
?> 


Cache (force browsers not to cache files): 
<?php 

header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header ('Pragma: no-cache'); 
?> 


Download dialog: 
<?php 

header('Content-Disposition: attachment; filename=' . urlencode($f));   
header('Content-Type: application/force-download');
header('Content-Type: application/octet-stream');
header('Content-Type: application/download');
header('Content-Description: File Transfer');            
header('Content-Length: ' . filesize($f));

echo file_get_contents($f);
?> 


Authentication (force the browser to pop up a Username/Password input window) - only available when PHP is running as an Apache module: 
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {

    header('WWW-Authenticate: Basic realm="The Realm"');

    header('HTTP/1.0 401 Unauthorized');

    echo 'If cancel is pressed this text shows';

    die();

} else {
//always escape your data//
$user='user';
$pass='pass';

   if($_SERVER['PHP_AUTH_USER']==$user && $_SERVER['PHP_AUTH_PW']==$pass){

    echo 'Authorized';

}

}
?>


 

php header编码

 

header("Content-type: text/html; charset=utf-8"); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: