2014-03-31 49 views
-1

我不知道如何在PHP中獲取當前的請求協議。我還沒有找到任何直接$_SERVER這個關鍵。我不希望從當前請求中分割出一串字符串。我應該如何提取當前請求uri的原始碼php

例如:

http://localhost/someDomain 

則:

echo $_SERVER["protocl"]; 

// http 

應該怎樣做?

+0

我不知道爲什麼人們投票下來投票... –

回答

3
$_SERVER["SERVER_PROTOCOL"]; 

是你在找什麼(請支付attetion,這也將返回協議版本)

一種解決方法可以是這樣的

$protocol_version = $_SERVER["SERVER_PROTOCOL"]; 
$protocol = strpos($protocol_version, 'HTTPS') === false ? 'http' : 'https'; 

或(更通用的解決方案)

$protocol = explode('/',$_SERVER["SERVER_PROTOCOL"])[0]; //!! valid only in php > 5.3 !! 
$protocol_array = explode('/',$_SERVER["SERVER_PROTOCOL"]); 
$protocol = $protocol_array[0]; 
+0

感謝它的工作 –