找回密码
 注册
首页 ≡≡网络技术≡≡ PHP语言 PHP获取URL地址的方法

PHP PHP获取URL地址的方法

灰儿 2022-5-30 15:05:33
PHP获取URL地址的方法

在一些业务场景中,我们需要用到PHP去获取URL地址,度娘搜索了一下,发现都是同一种解决方案,如下:
#测试网址:     http://localhost/blog/testurl.php?id=5//获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br>"; #localhost//获取网页地址 echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php//获取网址参数 echo $_SERVER["QUERY_STRING"]."<br>"; #id=5//获取用户代理 echo $_SERVER['HTTP_REFERER']."<br>"; //获取完整的urlecho 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];#http://localhost/blog/testurl.php?id=5//包含端口号的完整urlecho 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; #http://localhost:80/blog/testurl.php?id=5//只取路径$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; echo dirname($url);#http://localhost/blog复制
其中,获取包含端口号的完整url中:
//包含端口号的完整urlecho 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; #http://localhost:80/blog/testurl.php?id=5复制
这个代码是有一定局限性的,他只能获取域名下的url,如这种形式:
http://ma.my.com/staff?item=person&date=2016%2F12%2F05%E8%87%B32016%2F12%2F11复制
如果是IP地址这种形式的url,IP地址是获取不到的:
http://119.24.205.83:81/staff?date=2016%2F12%2F19%E8%87%B32016%2F12%2F25&item=project复制
获取出来是这样的:
http://_:81/staff?date=2016%2F12%2F19%E8%87%B32016%2F12%2F25&item=project复制
所以,如果想要获取完整的URL,还是得使用这个(经检验,端口号也会获取到,是真正意义上的完整的URL):
//获取完整的urlecho 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];#http://localhost/blog/testurl.php?id=5

您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。