搜尋
首頁後端開發php教程php header函數怎麼用

php header函數怎麼用

Feb 27, 2019 am 11:56 AM
header()函數php

header()函數是PHP中的內建函數,可以用來傳送原始HTTP標頭。以下這篇文章就來帶大家了解header()函數,介紹幾種header()函數的用法,希望對大家有幫助。 【影片教學推薦:PHP教學

php header函數怎麼用

#header()函數

#PHP header()函數的作用:以原始形式將HTTP標頭髮送到客戶端或瀏覽器。在將HTML,XML,JSON或其他輸出發送到瀏覽器或客戶端之前,原始資料與伺服器發出的請求(尤其是HTTP請求)一起作為標頭資訊發送出去。 HTTP標頭提供了關於訊息體(更準確地說是關於請求和回應)中發送的物件所需的資訊。

基本句式:

header( $header, $replace = TRUE, $http_response_code )

參數:header()函數接受三個參數

$header:用於保存標題字串。有兩種類型的標頭調用,第一種是以字串“HTTP /”開頭,用於確定要發送的HTTP狀態代碼;第二種是“Location:”開頭,這是強制性參數。

$replace:用來表示標題應該取代前一個或新增第二個標題,可省略。預設值為True(將替換),如果$replace值為False,則強制使用相同類型的多個標頭。

$http_response_code:用於強制HTTP回應碼為指定值(PHP 4.3及更高版本),可省略。

header()函數的用法

#1、重定向到URL,進行跳躍頁面

#
<?php 
header("Location: http://www.php.cn"); 
exit; 
?>

還可以調整跳轉時間,設定在某個時間後執行跳轉

<?php 
header("Refresh: 5; url= http://www.php.cn"); 
exit; 
?>

#2、設定快取控件,控制瀏覽器的快取

<?php 
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");//禁止本页被缓存
?> 
  
<html> 
    <body> 
        <p>Hello World!</p> 
        <?php 
            var_dump(headers_list()); 
        ?> 
    </body> 
</html>

輸出:

php header函數怎麼用

範例說明:

上面的範例,表示停用緩存,可以幫助瀏覽器防止緩存,讓瀏覽器每次要求本頁時都要到伺服器上取最新版本的內容。

附註:header()函數在範例中多次使用,因為只允許一次傳送一個標頭(自PHP 4.4起),以防止標頭注入攻擊。

3、設定網路檔案的類型、字元編碼、語言、內容長度

//设置简体中文
header("Content-Language: charset=zh-cn");

// 设置内容长度
header(&#39;Content-Length: 39344&#39;);

//设置页面文件是HTML类型,字符集是GB2312,即简体中文
header("Content-type: text/html; charset=GB2312");

//设置页面文件是HTML类型,字符集是utf-8
header("content-type:text/html;charset=utf-8");

4、傳送HTTP狀態

以下是一些常見的HTTP狀態:

<?php
//200 正常状态
header(&#39;HTTP/1.1 200 OK&#39;);

// 301 永久重定向,记得在后面要加重定向地址 Location:$url
header(&#39;HTTP/1.1 301 Moved Permanently&#39;);

// 设置页面304 没有修改
header(&#39;HTTP/1.1 304 Not Modified&#39;);

//401 未经授权:访问由于凭据无效被拒绝,需要进行登录
header(&#39;HTTP/1.1 401 Unauthorized&#39;);

// 403 禁止访问
header(&#39;HTTP/1.1 403 Forbidden&#39;);
 
// 404 错误
header(&#39;HTTP/1.1 404 Not Found&#39;);
// 500 错误
header(&#39;HTTP/1.1 500 Internal Server Error&#39;);
?>

5、執行http驗證,顯示訊息

<?php
header(&#39;HTTP/1.1 401 Unauthorized&#39;);
header(&#39;WWW-Authenticate: Basic realm="登录信息"&#39;);
echo &#39;显示的信息!&#39;;
?>

6、設定頭檔類型,可以用於串流檔案或檔案下載 

header(&#39;Content-Type: application/octet-stream&#39;); //设置内容类型
header(&#39;Content-Disposition: attachment; filename="example.zip"&#39;); //设置MIME用户作为附件
header(&#39;Content-Transfer-Encoding: binary&#39;); //设置传输方式
header(&#39;Content-Length: &#39;.filesize(&#39;example.zip&#39;)); //设置内容长度

以上就是這篇文章的全部內容,希望對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是php header函數怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
高流量網站的PHP性能調整高流量網站的PHP性能調整May 14, 2025 am 12:13 AM

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

PHP中的依賴注入:初學者的代碼示例PHP中的依賴注入:初學者的代碼示例May 14, 2025 am 12:08 AM

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

PHP性能:是否可以優化應用程序?PHP性能:是否可以優化應用程序?May 14, 2025 am 12:04 AM

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

PHP性能優化:最終指南PHP性能優化:最終指南May 14, 2025 am 12:02 AM

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

PHP依賴注入容器:快速啟動PHP依賴注入容器:快速啟動May 13, 2025 am 12:11 AM

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

PHP中的依賴注入與服務定位器PHP中的依賴注入與服務定位器May 13, 2025 am 12:10 AM

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

PHP性能優化策略。PHP性能優化策略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

PHP電子郵件驗證:確保正確發送電子郵件PHP電子郵件驗證:確保正確發送電子郵件May 13, 2025 am 12:06 AM

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用