php取网页资源url,超好用的php中获取当前页面的完整url的方法

首先我们知道php获取当前页面地址主要是通过$_SERVER这个预定义全局变量。那这个变量具体有哪些参数请看这篇文章 。PHP超全局变量$_SERVER

那我们现在介绍几个我们需要用到的path信息。

1、获取域名或主机地址。

如果你是localhost的,或者IP 111.65.78.101形式的都可以获取到对应的。本例子的测试地址为:http://www.jsphp.net/php/index.php?id=100

//获取域名或主机地址

// 测试地址:http://www.jsphp.net/php/index.php?id=100

echo $_SERVER['HTTP_HOST']; // www.jsphp.net

// 测试地址:http://localhost/php/index.php?id=100

echo $_SERVER['HTTP_HOST']; // localhost

// 测试地址:http://111.65.78.101/php/index.php?id=100

echo $_SERVER['HTTP_HOST']; // 111.65.78.101

2、获取网页地址

echo $_SERVER['PHP_SELF']; // /php/index.php

3、获取网址参数

echo $_SERVER["QUERY_STRING"]; // id = 100

4、获取端口号

// 如果你的网址是 http://www.jsphp.net:8181

echo $_SERVER["SERVER_PORT"]; // 8181

5、获取当前正在执行脚本的文件名

echo $_SERVER["PHP_SELF"]; // /php/index.php

6、当前脚本路径,根目录之后的目录。

echo $_SERVER["REQUEST_URI"]; // /php/index.php

剩下的我们就是把获取到的这些进行组装就行了。

获取完整的Url

//获取完整的url

echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];

// http://www.jsphp.net/php/index.php?id=100

获取包含端口号的url

//包含端口号的完整url

echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];

// http://www.jsphp.net:8181/php/index.php?id=100

只获取请求路径

// 只取路径的情况

$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];

echo dirname($url);

// http://localhost/blog

下面我们把他封装为一个常用的日常函数,方便平时使用

/**

* 完整url链接

* @return string

*/

function URL(){

$http_url = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';

if (isset($_SERVER['HTTP_HOST'])) {

$http_url .= $_SERVER['HTTP_HOST'];

} else {

$http_url .= $_SERVER["SERVER_NAME"];

}

if (isset($_SERVER['REQUEST_URI'])) {

$http_url .= $_SERVER['REQUEST_URI'];

} else {

if (isset($_SERVER['PHP_SELF'])) {

$http_url .= $_SERVER['PHP_SELF'];

} else {

$http_url .= $_SERVER['SCRIPT_NAME'];

}

if (isset($_SERVER['QUERY_STRING'])) {

$http_url .= $_SERVER['QUERY_STRING'];

} else {

$http_url .= isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';

}

}

return $http_url;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值