能具体解释一下$_SERVER["REQUEST_URI"]的用法吗?

解决方案 »

  1.   

    这是一个系统变量,字符串类型的,如:
    $url=$_SERVER["REQUEST_URL"];
    echo $url;
      

  2.   

    $PHP_SELF
    or
    $REQUEST_URI;应该可以的呀
    你直接echo 不就行了呀再不行用 <script>document.write(document.URL)</script>
      

  3.   

    $_SERVER["REQUEST_URI"]和$REQUEST_URI是一样的,可以得到当前页面完整的url,包括查询字符串
    $PHP_SELF得到的是当前脚本文件名,不包括查询字符串.
    至于得不到输出,可能是因为你没有启动apache,因为这是服务器变量,所以要在web服务器启动的情况下才能用.
      

  4.   

    谢谢大家的帮助,我又发现了新的问题:
    比如我有如下一个文件:http://127.0.0.1/test/123.php,当我在123.php中使用echo $_SERVER["REQUEST_URL"]时页面上没有任何输出,用echo $REQUEST_URI时显示了/test/123.php,加上查询字符串也能显示,但是没有前面的http://127.0.0.1,echo $PHP_SELF显示的是/php/php.exe/tests/1.php,肯定不是我想要的。<script>document.write(document.URL)</script>倒是很正确,包括查询字符串都能显示,正是我想要的。不过我还是想知道为什么echo $_SERVER["REQUEST_URL"]和echo $REQUEST_URI会有不同的结果,而echo $REQUEST_URI为什么前面没有http://127.0.0.1。
    分数太少了,对不起大家。
      

  5.   

    那您就直接把所有得到的结果都加上http://127.0.0.1不就可以了吗?
      

  6.   

    php版本 > 4.10 用_SERVER["REQUEST_URI"];
    小于用 $HTTP_SERVER_VARS["REQUEST_URI"];
      

  7.   

    你可以用PHPINFO()来查一下,但根据不同的PHP版本,这个环境变量也不同,你最好不要这样做。