PHP 获取包含端口号的完整 URL 中,$_SERVER 有些写法只能获取域名形式的 URL ,采用 IP 地址的 URL 是获取不到的。
#包含端口号的完整url
echo '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):
//获取完整的url
echo '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
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。