我如何獲取當前頁面的URL減去所有獲取參數(?blah = 2 & blah4 = 90 ...) 我知道我可以得到完整的URL $ _SERVER ['REQUEST_URI']但我想知道是否有更符合我需要的東西。PHP:獲取頁面URL減去參數
或者我應該只是做strpos?和substr劈砍的論據? (我想,一個$ _ SERVER變種會更有效 - 如果存在的話)
感謝
我如何獲取當前頁面的URL減去所有獲取參數(?blah = 2 & blah4 = 90 ...) 我知道我可以得到完整的URL $ _SERVER ['REQUEST_URI']但我想知道是否有更符合我需要的東西。PHP:獲取頁面URL減去參數
或者我應該只是做strpos?和substr劈砍的論據? (我想,一個$ _ SERVER變種會更有效 - 如果存在的話)
感謝
$_SERVER['REQUEST_URL']
有時答案是簡單的:)我發現這裏的解決方案:http://php.net/manual/en/reserved.variables.server.php按CTRL + F'ing爲「查詢」。
編輯
由於matchu在評論中說,並不是所有的服務器都支持REQUEST_URL。在那種情況下,我會使用不太優雅的strtok($url, '?');
。
事實上,這只是在評論中讓我感到緊張。它可能會按預期工作,但可能不適用於所有環境。 – Matchu 2011-01-10 02:52:44
$_SERVER['REQUEST_URL']
應該做的伎倆......
它列在這裏的評論: http://php.net/manual/en/reserved.variables.server.php
不知道爲什麼它是不是在DOCO?
您可以使用parse_url function,然後CONCAT需要的部分(方案,主機,端口,用戶,通過和路徑)
你可以像這樣做:
$url=$_SERVER["REQUEST_SCHEME"]."://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"];
你可以利用這一點,是非常簡單的:
$url = explode("?",$_SERVER[REQUEST_URI]);
$url = "http://$_SERVER[HTTP_HOST]/" . $url[0];
隨着爆炸的網址,您將有$url[0]
「第一部分」,並在$url[1]
所有參數。
可能想查看php的parse_url。這應該做你想要的。 – 2011-01-10 02:49:39