PHP使用参数获取URL

xuo3flqw  于 2023-02-03  发布在  PHP
关注(0)|答案(6)|浏览(378)

我想得到一个URL和它的参数。例如:

www.someweb.com/somepage.php?id=10

如何只得到somepage.php?id=10
我已经试过REQUEST_URIPHP_SELF,但是它只给我www.someweb.com/somepage.phpsomepage.php。我想要的只是页面名称和它的参数。

ecbunoof

ecbunoof1#

basename($_SERVER['REQUEST_URI']);

这将返回带有页面名称的所有URL。(例如:index.php?id=1&name=rr&class=10)。

ruoxqz4g

ruoxqz4g2#

有关包含协议、服务器名和参数的完整URL:

$base_url = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on' ? 'https' : 'http' ) . '://' .  $_SERVER['HTTP_HOST'];
 $url = $base_url . $_SERVER["REQUEST_URI"];
xoshrz7s

xoshrz7s3#

$_SERVER['PHP_SELF']表示页面名称,$_GET['id']表示特定参数。
尝试print_r($_GET);打印出所有参数。
对于您的请求echo $_SERVER['PHP_SELF']."?id=".$_GET['id'];
返回所有参数echo $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];

vsdwdz23

vsdwdz234#

function curPageName() {
 return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
}
echo "The current page is ".curPageName()."?".$_SERVER['QUERY_STRING'];

这将得到你的页面名称,它将得到最后一个斜杠后的字符串

q0qdq0h2

q0qdq0h25#

这里可能是你正在寻找的:php-get-url-query-string。您可以将其与其他建议的$_SERVER参数组合使用。

abithluo

abithluo6#

下面是我用来获取完整URL的一个非常完整的函数:

function get_full_url( bool $include_query = true ) {
    $protocol = ( ! empty( $_SERVER['HTTPS'] ) && strtolower( $_SERVER['HTTPS'] ) !== 'off' )
        || ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && strtolower( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) === 'https' )
        || ( ! empty( $_SERVER['HTTP_FRONT_END_HTTPS'] ) && strtolower( $_SERVER['HTTP_FRONT_END_HTTPS'] ) !== 'off' )
        || ( isset( $_SERVER['SERVER_PORT'] ) && intval( $_SERVER['SERVER_PORT'] ) === 443 ) ? 'https' : 'http';
    $uri = $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    return $include_query ? $uri : str_replace( '?' . $_SERVER['QUERY_STRING'], '', $uri );
}

相关问题