用php獲取header頭資訊
阿新 • • 發佈:2019-01-28
研究一晚上php關於自定義header頭資訊的問題。看了很多程式碼,但是由於本人才疏學淺。連測試demo都沒跑通。實在是慚愧。這裡看到個獲取header資訊的方法,挺不錯的,記錄一下。
我們可以在$_SERVER中獲取header資料,自定義的資料都是使用HTTP_作為字首的,所以可以把HTTP_字首的資料讀出。
public function get_all_header()
{
// 忽略獲取的header資料。這個函式後面會用到。主要是起過濾作用
$ignore = array('host','accept','content-length','content-type' );
$headers = array();
//這裡大家有興趣的話,可以列印一下。會出來很多的header頭資訊。咱們想要的部分,都是‘http_'開頭的。所以下面會進行過濾輸出。
/* var_dump($_SERVER);
exit;*/
foreach($_SERVER as $key=>$value){
if(substr($key, 0, 5)==='HTTP_'){
//這裡取到的都是'http_'開頭的資料。
//前去開頭的前5位
$key = substr($key, 5);
//把$key中的'_'下劃線都替換為空字串
$key = str_replace('_', ' ', $key);
//再把$key中的空字串替換成‘-’
$key = str_replace(' ', '-', $key);
//把$key中的所有字元轉換為小寫
$key = strtolower($key);
//這裡主要是過濾上面寫的$ignore陣列中的資料
if(!in_array($key, $ignore)){
$headers[$key] = $value;
}
}
}
//輸出獲取到的header
return $headers;
}
越學習越發現自己到底有多菜。加油。各位聖誕節快樂!