PHP获取当前url路径的函数及服务器变量,网址,地址

[ 2010-11-27 09:46:56 | 作者: admin ]
字号: | |
1,$_SERVER["QUERY_STRING"] //说明:查询(query)的字符串

2,$_SERVER["REQUEST_URI"] //说明:访问此页面所需的URI

3,$_SERVER["SCRIPT_NAME"] //说明:包含当前脚本的路径

4,$_SERVER["PHP_SELF"] //说明:当前正在执行脚本的文件名



实例:
===============================
1,http://www.52news.com/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = ""
$_SERVER["REQUEST_URI"] = "/"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"] = "/index.php"

2,http://www.52news.com/?p=222 (附带查询)
结果:
$_SERVER["QUERY_STRING"] = "p=222"
$_SERVER["REQUEST_URI"] = "/?p=222"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"] = "/index.php"

3,http://www.52news.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = "p=222&q=biuuu"
$_SERVER["REQUEST_URI"] = "/index.php?p=222&q=biuuu"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"] = "/index.php"

$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.52news.com 后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名



当前完整url:"http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']

总结,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。


$_SERVER["REQUEST_URI"] :获取当前请求的完整的(除域名的)url


uchome系统中处理技巧:
代码片段1:
//处理REQUEST_URI
if(!isset($_SERVER['REQUEST_URI'])) {
         $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];
         if(isset($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING'];
}
if($_SERVER['REQUEST_URI']) {
         $temp = urldecode($_SERVER['REQUEST_URI']);
         if(strexists($temp, '<') || strexists($temp, '"')) {
                $_GET = shtmlspecialchars($_GET);//XSS
           }
}


代码片段2:
<?php
echo $_SERVER['DOCUMENT_ROOT']."<br>"; //获得服务器文档根变量
echo $_SERVER['PHP_SELF']."<br>"; //获得执行该代码的文件服务器绝对路径的变量
echo __FILE__."<br>"; //获得文件的文件系统绝对路径的变量
echo dirname(__FILE__); //获得文件所在的文件夹路径的函数
?>
[最后修改由 admin, 于 2017-05-17 16:49:07]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1557

这篇日志没有评论。

此日志不可发表评论。