PHP $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]
2015-10-30 14:12
721 查看
1、$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2、$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3、$_SERVER["QUERY_STRING"] 说明:查询(query)的字符串 4、$_SERVER["REQUEST_URI"] 说明:访问此页面所需的URI 实例: 1.http://blog.snsgou.com/ (直接打开主页) 结果: 1 $_SERVER["SCRIPT_NAME"] = "/index.php" 2 $_SERVER["PHP_SELF"] = "/index.php" 3 $_SERVER["QUERY_STRING"] = "" 4 $_SERVER["REQUEST_URI"] = "/" 2.http://blog.snsgou.com/?p=222 (附带查询) 结果: 1 $_SERVER["SCRIPT_NAME"] = "/index.php" 2 $_SERVER["PHP_SELF"] = "/index.php" 3 $_SERVER["QUERY_STRING"] = "p=222" 4 $_SERVER["REQUEST_URI"] = "/?p=222" 3.http://blog.snsgou.com/index.php?p=222&q=biuuu 结果: 1 $_SERVER["SCRIPT_NAME"] = "/index.php" 2 $_SERVER["PHP_SELF"] = "/index.php" 3 $_SERVER["QUERY_STRING"] = "p=222&q=biuuu" 4 $_SERVER["REQUEST_URI"] = "/index.php?p=222&q=biuuu" 4.http://blog.snsgou.com/123/123.php/abc/def?id=222&name=jack 1 $_SERVER["SCRIPT_NAME"] = "/123/123.php" 2 $_SERVER["PHP_SELF"] = "/123/123.php/abc/def" 3 $_SERVER["QUERY_STRING"] = "id=222&name=jack" 4 $_SERVER["REQUEST_URI"] = "/123/123.php/abc/def?id=222&name=jack" 5.http://blog.snsgou.com/123/123.php/abc/def.bat?id=222&name=jack 1 $_SERVER["SCRIPT_NAME"] = "/123/123.php" 2 $_SERVER["PHP_SELF"] = "/123/123.php/abc/def.bat" 3 $_SERVER["QUERY_STRING"] = "id=222&name=jack" 4 $_SERVER["REQUEST_URI"] = "/123/123.php/abc/def.bat?id=222&name=jack" $_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php $_SERVER["PHP_SELF"] 当前正在执行脚本的文件名 $_SERVER["QUERY_STRING"] 获取查询语句,实例中可知,获取的是?后面的值 $_SERVER["REQUEST_URI"] 获取http://blog.snsgou.com后面的值,包括/ 总结一下,对于SCRIPT_NAME、PHP_SELF、QUERY_STRING、REQUEST_URI,深入了解将有利于我们 在$_SERVER函数中正确调用这四个值。 一般地: $_SERVER["REQUEST_URI"] = $_SERVER["PHP_SELF"] . '?' . $_SERVER["QUERY_STRING"] 注意:当有地址重写时,情况有些变化,如: /class 重写到 /index.php?app=class&mod=Index&act=index 此时: $_SERVER['PHP_SELF'] 值等于 /index.php $_SERVER['QUERY_STRING'] 值等于 /index.php?app=class&mod=Index&act=index $_SERVER["REQUEST_URI"] 值等于 /class uchome系统中处理技巧: 01 //处理REQUEST_URI 02 if (!isset($_SERVER['REQUEST_URI'])) { 03 $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF']; 04 if (isset($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING']; 05 } 06 if ($_SERVER['REQUEST_URI']) { 07 $temp = urldecode($_SERVER['REQUEST_URI']); 08 if (strexists($temp, '<') || strexists($temp, '"')) { 09 $_GET = shtmlspecialchars($_GET); // XSS 10 } 11 } 转载地址:http://www.php-note.com/article/detail/157
相关文章推荐
- String、StringBuilder与StringBuffer
- 自定义UIAlertView第三方类库
- Integer.valueOf(String) 方法之惑
- Codeforces Round #327 (Div. 2)D. Chip 'n Dale Rescue Rangers
- Codeforces Round #312 (Div. 2) D. Guess Your Way Out! II
- uuid在线生成
- LeetCode 63: Unique Paths II
- Cordova Plugin Issue for IOS
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- 研究响应式web设计之CSS3 Media Queries
- EasyUI-获取Tree得到选取实心圆点的id核心代码
- EasyUI-初始化异步树直接全部展开
- EasyUI系列之布局Layout
- FastQ思考系列之EasyUI页面按钮权限控制
- EasyUI系列之扩展easyui datagrid的两个方法.动态添加和删除toolbar的项
- EasyUi Datagrid的基础使用
- EasyUI系统之Tree
- 关于ios中的点赞控件效果的实现--UIControl
- 【Quick 3.3】资源脚本加密及热更新(二)资源加密
- UESTC 1226 Huatuo's Medicine