2016-01-08 65 views
0

我只是想知道如何獲得完整的規範請求到一個PHP文件,我只是想回顯它作爲文本或HTML。我怎麼才能得到完整的規範要求在PHP

例如:GET請求file.php輸出以下

輸出:

GET http://path/to/this/file.php HTTP/1.1 
User-Agent: example 
... other parameters 

編輯:我想在圓通完整的字符串

+0

嘗試尋找'$ _SERVER'? – Andrew

+0

'print_r($ _ SERVER)'將顯示關於您可以獲得的請求的所有信息。 – Barmar

回答

0

這是不可能得到原來的請求字符串,據我所知。但是,來自請求標頭的所有信息都放入$_SERVER關聯數組中。每個標題字段Xxx-Yyy對應於$_SERVER['HTTP_XXX_YYY'] - 標題名稱中的字母被轉換爲大寫字母,連字符被替換爲下劃線。所以,你可以這樣做:

echo $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . ' ' . $_SERVER['SERVER_PROTOCOL'] "\n"; 
foreach ($_SERVER AS $key => $value) { 
    if (substr($key, 0, 5) == 'HTTP_') { 
     echo str_replace('_', '-', substr($key, 5)) . ': ' . $value . "\n"; 
    } 
} 
0

可以使用getallheaders()方法來獲得請求頭的數組。從這裏開始,您可以循環瀏覽它們並根據需要輸出它們。

foreach(getallheaders() as $k => $v) { 
    echo $k . ': ' . $v . PHP_EOL; 
} 

更多細節,可以發現:http://php.net/manual/en/function.getallheaders.php