如何在PHP中获取当前页面的URL
在PHP中,如何获取当前页面的URL? 最好只是http://domain.com之后的部分。
$_SERVER['REQUEST_URI']
有关$ _SERVER数组中可用信息的更多详细信息,请参阅PHP手册页 。
如果您还需要查询string(位于URL中的?
之后的位),则该部分位于此variables中:
$_SERVER['QUERY_STRING']
如果你只想在http://domain.com之后的部分url,试试这个:;
<?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']; ?>
$uri = $_SERVER['REQUEST_URI'];
这会给你所要求的目录和文件名。 如果你使用mod_rewrite,这是非常有用的,因为它告诉你用户在看什么页面。
如果您需要实际的文件名,您可以尝试$_SERVER['PHP_SELF']
,魔术常量__FILE__
或$_SERVER['SCRIPT_FILENAME']
。 后者2给你完整的path(从服务器的根),而不仅仅是你的网站的根。 它们对于包含等是有用的。
$_SERVER['PHP_SELF']
为您提供相对于网站根目录的文件名。
$relative_path = $_SERVER['PHP_SELF']; $complete_path = __FILE__; $complete_path = $_SERVER['SCRIPT_FILENAME'];
其他答案是正确的。 但是,一个简单的说明:如果你想抓住的东西后?
在一个URI中,你应该使用$_GET[]
数组。
你可以使用$ _SERVER ['HTTP_REFERER']这将给你整个URL例如:假设你想获得网站名称www.example.com的url,那么$ _SERVER ['HTTP_REFERER']会给你https:// www。 example.com