如何在PHP中获取当前页面的URL

时间:2009-08-16 02:06:24

标签: php

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

5 个答案:

答案 0 :(得分:251)

$_SERVER['REQUEST_URI']

有关$ _SERVER数组中可用信息的详细信息,请参阅the PHP manual page for it

如果您还需要查询字符串(URL中?之后的位),则该部分位于此变量中:

$_SERVER['QUERY_STRING']

答案 1 :(得分:75)

如果您只想在http://domain.com之后输入网址的部分,请尝试以下操作:

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

如果当前网址为http://domain.com/some-slug/some-id,则echo仅返回&#39; / some-slug / some-id&#39;。

如果你想要完整的网址,试试这个:

<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>

答案 2 :(得分:24)

 $uri = $_SERVER['REQUEST_URI'];

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

如果您需要实际的文件名,可能需要尝试$_SERVER['PHP_SELF'],魔术常量__FILE__$_SERVER['SCRIPT_FILENAME']。后者2为您提供完整的路径(来自服务器的根目录),而不仅仅是您网站的根目录。它们对包含等有用。

$_SERVER['PHP_SELF']为您提供相对于网站根目录的文件名。

 $relative_path = $_SERVER['PHP_SELF'];
 $complete_path = __FILE__;
 $complete_path = $_SERVER['SCRIPT_FILENAME'];

答案 3 :(得分:10)

其他答案都是正确的。但是,请注意:如果您希望在URI中?之后获取内容,则应使用$_GET[]数组。

答案 4 :(得分:0)

您可以使用$ _SERVER ['HTTP_REFERER']这将为您提供整个网址,例如:假设您想获取网站名称www.example.com的网址,那么$ _SERVER ['HTTP_REFERER']将为您提供{{3 }}