新聞中心
在PHP中,我們可以使用`header()`函數(shù)來實現(xiàn)頁面的跳轉(zhuǎn),`header()`函數(shù)可以發(fā)送一個原始的HTTP報頭給客戶端,這個報頭包括了狀態(tài)碼、頭部信息和可能的重定向信息,當(dāng)服務(wù)器發(fā)送一個響應(yīng)給客戶端時,它會首先設(shè)置狀態(tài)碼,然后調(diào)用`header()`函數(shù)發(fā)送報頭信息,如果服務(wù)器希望客戶端重新請求資源,那么它可以設(shè)置`Location`報頭字段為新的URL。

以下是一個簡單的示例:
在這個示例中,當(dāng)用戶訪問這個PHP文件時,他們將被重定向到“。
需要注意的是,`header()`函數(shù)必須在任何輸出(包括空格和換行符)發(fā)送到客戶端之前調(diào)用,這是因為HTTP協(xié)議規(guī)定,一旦報頭被發(fā)送到客戶端,瀏覽器就不能再向服務(wù)器發(fā)送任何數(shù)據(jù),如果你試圖在發(fā)送任何其他輸出之前調(diào)用`header()`函數(shù),你可能會遇到錯誤。
`header()`函數(shù)只能用于發(fā)送重定向或重新加載頁面,如果你需要在不重定向的情況下發(fā)送一些信息給客戶端(例如,顯示一條消息),你應(yīng)該使用`echo`或`print`函數(shù)。
相關(guān)問題與解答:
1. `header()`函數(shù)是否可以用于發(fā)送非200的HTTP狀態(tài)碼?
答:不可以,`header()`函數(shù)只能用于發(fā)送200-399的HTTP狀態(tài)碼,如果需要發(fā)送其他狀態(tài)碼,你應(yīng)該使用`http_response_code()`函數(shù)手動設(shè)置狀態(tài)碼。
2. `header()`函數(shù)是否可以用于發(fā)送JSON格式的數(shù)據(jù)?
答:是的,你可以在發(fā)送任何類型的數(shù)據(jù)之前先設(shè)置`Content-Type`頭字段為`application/json`,然后使用`echo`或`print`函數(shù)發(fā)送JSON數(shù)據(jù)。
'Hello, world!']); ?>
3. `header()`函數(shù)是否可以用于發(fā)送HTML文檔?
答:是的,你可以在發(fā)送任何類型的數(shù)據(jù)之前先設(shè)置`Content-Type`頭字段為相應(yīng)的MIME類型(例如,`text/html`或`application/xhtml+xml`),然后使用`echo`或`print`函數(shù)發(fā)送HTML文檔。
Hello, world!


咨詢
建站咨詢