header()函數是PHP中的內建函數,可以用來傳送原始HTTP標頭。以下這篇文章就來帶大家了解header()函數,介紹幾種header()函數的用法,希望對大家有幫助。 【影片教學推薦:PHP教學】
#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>
輸出:
範例說明:
上面的範例,表示停用緩存,可以幫助瀏覽器防止緩存,讓瀏覽器每次要求本頁時都要到伺服器上取最新版本的內容。
附註:header()函數在範例中多次使用,因為只允許一次傳送一個標頭(自PHP 4.4起),以防止標頭注入攻擊。
3、設定網路檔案的類型、字元編碼、語言、內容長度
//设置简体中文 header("Content-Language: charset=zh-cn"); // 设置内容长度 header('Content-Length: 39344'); //设置页面文件是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('HTTP/1.1 200 OK'); // 301 永久重定向,记得在后面要加重定向地址 Location:$url header('HTTP/1.1 301 Moved Permanently'); // 设置页面304 没有修改 header('HTTP/1.1 304 Not Modified'); //401 未经授权:访问由于凭据无效被拒绝,需要进行登录 header('HTTP/1.1 401 Unauthorized'); // 403 禁止访问 header('HTTP/1.1 403 Forbidden'); // 404 错误 header('HTTP/1.1 404 Not Found'); // 500 错误 header('HTTP/1.1 500 Internal Server Error'); ?>
5、執行http驗證,顯示訊息
<?php header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="登录信息"'); echo '显示的信息!'; ?>
6、設定頭檔類型,可以用於串流檔案或檔案下載
header('Content-Type: application/octet-stream'); //设置内容类型 header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件 header('Content-Transfer-Encoding: binary'); //设置传输方式 header('Content-Length: '.filesize('example.zip')); //设置内容长度
以上就是這篇文章的全部內容,希望對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !
以上是php header函數怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

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

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

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

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

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用