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

本文介绍如何使用 PHP 头部函数发送不同类型的响应,包括 HTML、图片、PDF 和 JavaScript 文件,以及如何设置 HTTP 状态码、强制浏览器不缓存文件、启用下载对话框、实现认证和编码响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值