小灰博客--小灰IT技术博客 | sky00.com

PHP获取各式各样的网址

记载一下用PHP来获取各种网址URL的方法,当然,如果你想用网址作为判断条件,而你的网址已经伪静态或者经过处理了,你最好先输出一下对应的变量看看原始网址是什么,比个简单的例子,你当前打开的网址是http://www.sky00.com/phone/tuan/all-0-238,这个网址是经过伪静态或者重写过的,你如果判断的时候就不能if($_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’]==’http://www.sky00.com/phone/tuan/all-0-238’)来做判断。而是你应该先输出一下$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI,看看真实网址是什么,比如输出后我的真实网址是www.sky00.com/phone/index.php/tuan/all-0-0-1,那么你的判断语句应该写成if ($_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’]==’www.sky00.com/phone/index.php/tuan/all-0-0-1’)。下面是具体的网址获取。

测试网址: http://www.sky00.com/blog/testurl.php?id=5

获取域名或主机地址 :

1
echo $_SERVER['HTTP_HOST']."<br>"; #www.sky00.com

获取网页地址 :

1
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php

获取网址参数 :

1
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5

获取用户代理 :

1
echo $_SERVER['HTTP_REFERER']."<br>";

获取完整的url:

1
2
3
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://www.sky00.com/blog/testurl.php?id=5

包含端口号的完整url:

1
2
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
#http://www.sky00.com:80/blog/testurl.php?id=5

只取路径:

1
2
3
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
#http://www.sky00.com/blog

如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

分类

最新评论