假设我有以下网址:
http://test.com/directory-test/?id=4746&other=454#comments
但是,如何在没有所有变量和#的情况下使用PHP检索该特定页面的URL。因此,例如:
http://test.com/directory-test/
我发现了此函数,但是,它在URL中包含了所有内容,因此它返回的URL类似于上面的第一个示例,但是我想要一个类似于第二个示例的URL。
function curPageURLALL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
使用PHP_SELF代替REQUEST_URI :)
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["PHP_SELF"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"];
}
return $pageURL;
}
Hymm,PHP_SELF可能还会返回文件示例index.php,所以也许这
function curPageURL() {
$pageURL = 'http';
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
$pageURL .= $_SERVER["SERVER_NAME"];
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= ":".$_SERVER["SERVER_PORT"];
}
$pos = strpos($_SERVER["REQUEST_URI"],"?");
$pageURL .= ($pos===false)?$_SERVER["REQUEST_URI"]:substr($_SERVER["REQUEST_URI"],0,$pos);
return $pageURL;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句