我想在php腳本中獲得完整的URL地址,請告訴,這段代碼總是給出正確的URL? 或者在某些情況下,這段代碼給了我們錯誤的URL?獲取完整的URL地址
if (empty($_SERVER['HTTPS'])) {
$s = "";
}
else {
$s = "s";
}
$url = "http".$s."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
我想在php腳本中獲得完整的URL地址,請告訴,這段代碼總是給出正確的URL? 或者在某些情況下,這段代碼給了我們錯誤的URL?獲取完整的URL地址
if (empty($_SERVER['HTTPS'])) {
$s = "";
}
else {
$s = "s";
}
$url = "http".$s."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
您忘記了端口號。這是接收當前頁面URL的全功能代碼。
function selfURL() {
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}
非常感謝,但這不是錯誤? $ s =空($ _ SERVER [「HTTPS」])? '':($ _SERVER [「HTTPS」] ==「on」)? 「s」:「」; –
的含義是明白的,只有在三元運算符錯誤:)謝謝。 –
對於語法錯誤感到抱歉。將其分組爲括號 – ssbb
我認爲應該罰款假設你使用標準的80端口,否則你可能要包括這一點。
$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
非常感謝 –
欣賞您的評論,但如果您發現有用的答案,請點擊'這個答案在左邊是有用的計數器'。如果某個答案解決了您的問題,請將其標記爲答案,這有助於其他用戶找出答案的工作原理。 它也提高了您的接受評級,這意味着更多的用戶將來可能會對您有所幫助。 – Usman
是的,但我只是11聲望,對於使用按鈕「這個答案很有用」,需要15分的聲望。在此,我無法更改答案級別。 –
你試過了嗎?如果是,結果如何? –
這將返回URL當前頁面,但我不知道,它的作品總是糾正不是。 –