Ⅰ php中header()作用
header的用法
標頭 (header) 是伺服器以 HTTP 協義傳 HTML 資料到瀏覽器前所送出的字串,在標頭
與 HTML 文件之間尚需空一行分隔。有關 HTTP 的詳細說明,可以參 RFC 2068 官方文件
(http://www.w3.org/Protocols/rfc2068/rfc2068)。在 PHP 中送回 HTML 資料前,需先
傳完所有的標頭。
注意: 傳統的標頭一定包含下面三種標頭之一,並只能出現一次。
Content-Type: xxxx/yyyy
Location: xxxx:yyyy/zzzz
Status: nnn xxxxxx
在新的多型標頭規格 (Multipart MIME) 方可以出現二次以上。
使用範例
範例一: 本例使瀏覽器重定向到 PHP 的官方網站。
Header("Location: http://www.php.net";);
exit;
>?
範例二: 要使用者每次都能得到最新的資料,而不是 Proxy 或 cache 中的資料,可以使用下列的標頭
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
>?
範例三: 讓使用者的瀏覽器出現找不到檔案的信息。
header("Status: 404 Not Found");
>?
範例四:讓使用者下載檔案。
header("Content-type: application/x-gzip");
header("Content-Disposition: attachment; filename=文件名\");
header("Content-Description: PHP3 Generated Data");
?>
header重定向 就等價於替用戶在地址欄輸入url
---------------------------------
//剛好找到比較詳細的資料!
Ⅱ <php header("Location: url"); >中header一般怎麼運用
一、作用:
~~~~~~~~~
PHP只是以HTTP協議將HTML文檔的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下HTTP協議了,與PHP無關了
傳統的標頭一定包含下面三種標頭之一,並只能出現一次。
Location: xxxx:yyyy/zzzz
Content-Type: xxxx/yyyy
Status: nnn xxxxxx
二、先來了解一下HTTP協議的運作方式
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HTTP協議是基於請求/響應範式的。一個客戶機與伺服器建立連接後,發送一個請求給伺服器,請求方式的格式為,統一資源標識符、協議版本號,後邊是 MIME信息包括請求修飾符、客戶機信息和可能的內容。伺服器接到請求後,給予相應的響應信息,其格式為一個狀態行包括信息的協議版本號、一個成功或錯誤的代碼,後邊是MIME信息包括伺服器信息、實體信息和可能的內容。
它分四個過程,在HTTP協議中,服務端是指提供HTTP服務的部分,客戶端是指你使用的瀏覽器或者下載工具等等。在通訊時,由客戶端發出請求連接,服務端建立連接;然後,客戶端發出HTTP請求(Request),服務端返回響應信息(Respond),由此完成一個HTTP操作。
三、HTTP協議狀態碼表示的意思
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1××保留
2××表示請求成功地接收
3××為完成請求客戶需進一步細化請求
4××客戶錯誤
5××伺服器錯誤
四、操作實例:
~~~~~~~~~~~~~
<1> 重定向功能,這種最常見
<?php
Header("Location: http://www.php.net");
?>
<2> 強制用戶每次訪問這個頁面時獲取最新資料,而不是使用存在客戶端的緩存。
<?php
//告訴瀏覽器此頁面的過期時間(用格林威治時間表示),只要是已經過去的日期即可。
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");
//告訴瀏覽器此頁面的最後更新日期(用格林威治時間表示)也就是當天,目的就是強迫瀏覽器獲取最新資料
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
//告訴客戶端瀏覽器不使用緩存
header("Cache-Control: no-cache, must-revalidate");
//參數(與以前的伺服器兼容),即兼容HTTP1.0協議
header("Pragma: no-cache");
//輸出MIME類型
header("Content-type: application/file");
//文件長度
header("Content-Length: 227685");
//接受的范圍單位
header("Accept-Ranges: bytes");
//預設時文件保存對話框中的文件名稱
header("Content-Disposition: attachment; filename=$filename");
?>
<3> 輸出狀態值到瀏覽器,主要用於訪問許可權控制
<?php
header('HTTP/1.1 401 Unauthorized');
header('status: 401 Unauthorized');
?>
比如要限制一個用戶不能訪問該頁,則可設置狀態為404,如下所示,這樣瀏覽器就顯示為即該頁不存在
<?php
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
?>
注意: 傳統的標頭一定包含下面三種標頭之一,並只能出現一次。 Content-Type: xxxx/yyyy Location: xxxx:yyyy/zzzz Status: nnn xxxxxx 在新的多型標頭規格 (Multipart MIME) 方可以出現二次以上。
使用範例
範例一: 本例使瀏覽器重定向到 PHP 的官方網站。 Header("Location: http://www.php.net"); exit; >?
範例二: 要使用者每次都能得到最新的資料,而不是 Proxy 或 cache 中的資料,可以使用下列的標頭 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache"); >?
範例三: 讓使用者的瀏覽器出現找不到檔案的信息。
header("Status: 404 Not Found"); >?
範例四:讓使用者下載檔案。
header("Content-type: application/x-gzip");
header("Content-Disposition: attachment; filename=文件名"); header("Content-Description: PHP3 Generated Data"); >?
Ⅲ php中的header函數
header("Location:page.php");
是為了跳轉到其它頁面。當然是運行到它時才跳過去。
編譯時還是運行時執行?這個問題問在include 與 require合適。。。。
注意區分它與 include 與 require區別
另外補充回答:
==================
頁面跳轉並不能用來阻止程序中其他語句的執行?
頁面已經跳轉了,以前的頁面header語句後的邏輯代碼是會繼續執行的,但是輸出語句是不會執行的。
你可以拿個簡單的例子做實驗:
-----------------------------
文件 a.php
<?php
header('Location:b.php');
echo '我是跳轉前的頁面a.php!';
?>
文件 b.php
<?php
echo '我是跳轉後的頁面b.php!';
?>
運行a.php,發現輸出的是 "我是跳轉後的頁面b.php"
如果有二個header以上的header 則以最後一個為准。
同樣上面的例子:
-----------------------------
文件 a.php
<?php
header('Location:b.php');
header('Location:c.php');
echo '我是跳轉前的頁面a.php!';
?>
運行a.php,會跳到c.php
再來個例子證明,邏輯代碼是會執行的。
--------
<?php
header('Location:b.php');
$a = 'c.php';
header('Location:'.$a);
echo '我是aa.php';
?>
結果跳到了c.php,證明$a='c.php'執行了。
---------------------
總結:
header後,想禁止後面語句執行,你可以加上exit; 或return;
如下
<?php
header('Location:b.php');
return;
//exit;
$a = 'c.php';
header('Location:'.$a);
echo '我是a.php';
?>
則只會跳到b.php頁面,不會到c.php.
---------------------
這個答案,你滿意不?:)
Ⅳ php中的header是什麼意思
header() 函數向客戶端發送原始的 HTTP 報頭。
語法
header(string,replace,http_response_code)
參數描述
string 必需。規定要發送的報頭字元串。
replace 可選。指示該報頭是否替換之前的報頭,或添加第二個報頭。
默認是 true(替換)。false(允許相同類型的多個報頭)。
http_response_code 可選。把 HTTP 響應代碼強制為指定的值。(PHP 4 以及更高版本可用)
用於301重定向、網頁跳轉、和控制網頁緩存等
Ⅳ PHP 函數 header() 後跟不跟die();的區別是什麼
header送出頁面的頭標簽,
die()等同與exit(),
手冊上的定義為
void exit ([ string $status ] )
void exit ( int $status )
用來終止php代碼的運行,如果有消息,在程序退出時列印給定的消息。
Ⅵ PHP語言:header()函數
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
上面組合是禁用緩存
header("Content-Language: charset=zh-cn");
說明字元集是簡體中文
header("Content-type: text/html; charset=GB2312");
說明本頁面是HTML內容,字元集是簡體中文
Ⅶ php,如何用header函數,指到上一個文件夾的某一個文件
header ('Location:../A/a.php');
`../ `表示上一級目錄。
類似的`../../`就是指上級目錄的上級目錄
Ⅷ PHP header和footer具體使用方法
定義和用法
header() 函數向客戶端發送原始的 HTTP 報頭。
認識到一點很重要,即必須在任何實際的輸出被發送之前調用 header() 函數(在 PHP 4 以及更高的版本中,您可以使用輸出緩存來解決此問題):
<html>
<?php
// 結果出錯
// 在調用 header() 之前已存在輸出
header('Location: http://www.example.com/');
?>
Ⅸ php header 函數不能正常跳轉的幾種解決辦法
PHP頁面跳轉一、header()函數
header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。header()函數的主要功能是將HTTP協議標頭(header)輸出到瀏覽器。
header()函數的定義如下:
void header (string string [,bool replace [,int http_response_code]])
可選參數replace指明是替換前一條類似標頭還是添加一條相同類型的標頭,默認為替換。
第二個可選參數http_response_code強制將HTTP相應代碼設為指定值。 header函數中Location類型的標頭是一種特殊的header調用,常用來實現頁面跳轉。注意:1.location和「:」號間不能有空格,否則不會跳轉。
2.在用header前不能有任何的輸出。
3.header後的PHP代碼還會被執行。例如,將瀏覽器重定向到冠威博客
< ?php
//重定向瀏覽器
header("Location: http://www.guanwei.org");
//確保重定向後,後續代碼不會被執行
exit;
?>
PHP頁面跳轉二、Meta標簽
Meta標簽是HTML中負責提供文檔元信息的標簽,在PHP程序中使用該標簽,也可以實現頁面跳轉。 若定義http-equiv為refresh,則打開該頁面時將根據content規定的值在一定時間內跳轉到相應頁面。
若設置content="秒數;url=網址",則定義了經過多長時間後頁面跳轉到指定的網址。例如,使用meta標簽實現疫苗後頁面自動跳轉到冠威博客。
< meta http-equiv="refresh" content="1;url=http://www.guanwei.org">
例如,以下程序meta.php實現在該頁面中停留一秒後頁面自動跳轉到www.guanwei.org。
< ?php
$url = "http://www.guanwei.org"; ?>
< html>
< head>
< meta http-equiv="refresh" content="1; url=< ?php echo $url; ?>">
< /head>
< body>
頁面只停留一秒……
< /body>
< /html>
PHP頁面跳轉三、javaScript(常用、推薦)
例如,此代碼可以放在程序中的任何合法位置。
< ?php
$url = "http://www.guanwei.org";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
?>