转自:http://blog.163.com/wangzhenbo85@126/blog/static/10136328220112153725356/
在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持,因此,我们需要一个更加通用的方式来获取 REQUEST_URI 的值,本文就是结束这一问题的解决方案。
// 说明:获取 _SERVER['REQUEST_URI'] 值的通用解决方案
// 来源:drupal-5.1 bootstrap.inc
// 整理:CodeBit.cn ( http://www.CodeBit.cn )
function
request_uri()
{
if
(isset(
$_SERVER
[
'REQUEST_URI'
]))
{
$uri
=
$_SERVER
[
'REQUEST_URI'
];
}
else
{
if
(isset(
$_SERVER
[
'argv'
]))
{
$uri
=
$_SERVER
[
'PHP_SELF'
] .
'?'
.
$_SERVER
[
'argv'
][0];
}
else
{
$uri
=
$_SERVER
[
'PHP_SELF'
] .
'?'
.
$_SERVER
[
'QUERY_STRING'
];
}
}
return
$uri
;
}
?>
$_SERVER["REQUEST_URI"]函数
预定义服务器变量的一种,所有$_SERVER开头的都叫做预定义服务器变量 REQUEST_URI的作用是取得当前URI,也就是除域名外后面的完整的地址路径
例如。当前页面是http://www.zixueku.com/plus/search.php?kwtype=0&keyword=php&searchtype=titlekeyword
echo $_SERVER["REQUEST_URI"];
结果就为:plus/search.php?kwtype=0&keyword=php&searchtype=titlekeyword
假如命令行的地址是:http://www.baidu.com/index.php 那么: $_SERVER['HTTP_HOST']=='www.baidu.com' $_SERVER['PHP_SELF']=='/index.php' 明白了吧,一个是主机地址,一个是脚本文件的绝对路径