代码之家  ›  专栏  ›  技术社区  ›  Ali

如何在php中获取当前页面的url[重复]

php
  •  130
  • Ali  · 技术社区  · 15 年前

    这个问题已经有了答案:

    在PHP中,如何获取当前页面的URL?最好是后面的部分 http://domain.com .

    5 回复  |  直到 7 年前
        1
  •  244
  •   Brad Larson    7 年前
    $_SERVER['REQUEST_URI']
    

    有关$\u服务器阵列中可用信息的详细信息,请参阅 the PHP manual page for it .

    如果还需要查询字符串(在 ? 在URL中),该部分在该变量中:

    $_SERVER['QUERY_STRING']
    
        2
  •  73
  •   Jonas Orrico    10 年前

    如果您只想在 http://domain.com 试试这个:

    <?php echo $_SERVER['REQUEST_URI']; ?>
    

    如果当前URL是 http://domain.com/some-slug/some-id ,echo将只返回'/some slug/some id'。

    如果需要完整的URL,请尝试以下操作:

    <?php echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
    
        3
  •  24
  •   Tyler Carter    15 年前
     $uri = $_SERVER['REQUEST_URI'];
    

    这将为您提供请求的目录和文件名。如果您使用mod ou rewrite,这非常有用,因为它告诉您用户正在查看的页面。

    如果需要实际的文件名,可以尝试 $_SERVER['PHP_SELF'] ,魔法常数 __FILE__ ,或 $_SERVER['SCRIPT_FILENAME'] . 后一个2提供了完整的路径(从服务器的根目录),而不仅仅是网站的根目录。它们对include之类的东西很有用。

    $服务器['php_self'] 提供相对于网站根目录的文件名。

     $relative_path = $_SERVER['PHP_SELF'];
     $complete_path = __FILE__;
     $complete_path = $_SERVER['SCRIPT_FILENAME'];
    
        4
  •  9
  •   Imagist    15 年前

    其他答案是正确的。不过,请注意:如果您希望在 ? 在URI中,应该使用 $_GET[] 数组。

        5
  •  0
  •   user2862106    11 年前

    您可以使用$ou server['http_referer']这将为您提供完整的URL,例如:假设您要获取网站名称www.example.com的URL,则$ou server['http_referer']将为您提供 https://www.example.com