在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持,因此,我们需要一个更加通用的方式来获取 REQUEST_URI 的值,本文就是结束这一问题的解决方案。
<?php
// 说明:获取 _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'] 值 只有在apache環境下才能使用….
那您下面寫的解決方法也是用_SERVER['QUERY_STRING'] 這個變量難道不是在apache環境下才能使用的嗎?
因為我現在遇到_SERVER['REQUEST_URI'] 在某些人的電腦下無法work….希望您幫我解答囉…感恩~~~
QUERY_STRING 在 IIS 下是可用的,如果 REQUEST_URI 不可用,极有可能 PHP 是跑在 IIS 下的,你可以试试使用本文提供的方法。