- 浏览: 156428 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
NickWar:
脚本很好用,感谢楼主分享
但我只能导出10篇文档的xml ...
原创使用google reader + PHP将iteye博客数据导入到wordpress中 -
再逢山水:
ninedoors 写道这位仁兄,还有一个问题,感觉挺诡异的, ...
ThinkPHP中M和D函数的区别 -
ninedoors:
这位仁兄,还有一个问题,感觉挺诡异的,却不知道原因。我在用th ...
ThinkPHP中M和D函数的区别 -
柏新星:
谢谢 最起码简单的了解了一些 呵呵
stdClass的介绍
1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1,http://www.baidu.com/ (直接打开主页)
结果:
2,http://www.baidu.com/?p=222 (附带查询)
结果:
3,http://www.baidu.com/index.php?p=222&q=biuuu
结果:
总结一下:
对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。
来观察一下这些变量或函数的异同.
假设有一个请求地址为: http://localhost:8080/test.php/age=20
而test.php 的完整路径是: D:/server/www/example/test.php
1) getcwd()
将得到浏览器请求的页面文件所在的目录. 即test.php 文件所在的目录: D:/server/www/example/ ,
如果在test.php 执行了 require 或 include 语句, 比如 inculde(”test_dir/test2.php”),
那么在 test2.php 里 getcwd()函数 返回的也将是 test.php 所在的目录.
2)__FILE__
一个魔术变量, 用它将得到 __FILE__ 变量所在文件的完整路径,
比如: test.php 里 __FILE__ 将得到 D:/server/www/example/test.php ,
test_dir/test2.php 里的 __FILE__ 将得到 D:/server/www/example/test_dir/test2.php
3) $_SERVER["SCRIPT_FILENAME"]
将得到浏览器请求的页面文件的完整路径.
test.php 和 test_dir/test2.php 里用 $_SERVER["SCRIPT_NAME"] 都将得到 D:/server/www/example/test.php.
4) $_SERVER["SCRIPT_NAME"]
将得到浏览器请求的页面文件的文件名,注意: 与 $_SERVER["SCRIPT_NAME"] 不同, 此变量只得到文件名而不包含路径,
在test.php 与 test_dir/test2.php 用$_SERVER["SCRIPT_NAME"] 得到的都将是 test.php.
当然, 在test.php 与 test_dir/test2.php 执行 basename($_SERVER["SCRIPT_FILENAME"]) 与 $_SERVER["SCRIPT_NAME"] 相同.
执行 在test.php 与 test_dir/test2.php 执行 realpath(”test.php”) 得到的结果与 $_SERVER["SCRIPT_FILENAME"] 相同.
5) $_SERVER["PHP_SELF"]
将得到浏览器请求页面的文件名, 并剥掉问号 ? 后的内容, 注意:不包含路径,
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php/age=20&name=Tom”。
6) $_SERVER["REQUEST_URI"]
将得到浏览器请求页面的文件名, 以及文件名之后的所有内容(注意: 井号 # 之后的内容将被略去),
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["REUEST_URI"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["REQUEST_URI"] 都将得到 “test.php/age=20&name=Tom”。
*/
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1,http://www.baidu.com/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = "" $_SERVER["REQUEST_URI"] = "/" $_SERVER["SCRIPT_NAME"] = "/index.php" $_SERVER["PHP_SELF"] = "/index.php"
2,http://www.baidu.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.baidu.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.biuuu.com后面的值,包括/ $_SERVER["SCRIPT_NAME"]; //获取当前脚本的路径,如:index.php $_SERVER["PHP_SELF"]; //当前正在执行脚本的文件名 echo $_SERVER['DOCUMENT_ROOT'].""; //获得服务器文档根变量 echo $_SERVER['PHP_SELF'].""; //获得执行该代码的文件服务器绝对路径的变量 echo __FILE__; //获得文件的文件系统绝对路径的变量 echo dirname(__FILE__); //获得文件所在的文件夹路径的函数
总结一下:
对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。
来观察一下这些变量或函数的异同.
假设有一个请求地址为: http://localhost:8080/test.php/age=20
而test.php 的完整路径是: D:/server/www/example/test.php
1) getcwd()
将得到浏览器请求的页面文件所在的目录. 即test.php 文件所在的目录: D:/server/www/example/ ,
如果在test.php 执行了 require 或 include 语句, 比如 inculde(”test_dir/test2.php”),
那么在 test2.php 里 getcwd()函数 返回的也将是 test.php 所在的目录.
2)__FILE__
一个魔术变量, 用它将得到 __FILE__ 变量所在文件的完整路径,
比如: test.php 里 __FILE__ 将得到 D:/server/www/example/test.php ,
test_dir/test2.php 里的 __FILE__ 将得到 D:/server/www/example/test_dir/test2.php
3) $_SERVER["SCRIPT_FILENAME"]
将得到浏览器请求的页面文件的完整路径.
test.php 和 test_dir/test2.php 里用 $_SERVER["SCRIPT_NAME"] 都将得到 D:/server/www/example/test.php.
4) $_SERVER["SCRIPT_NAME"]
将得到浏览器请求的页面文件的文件名,注意: 与 $_SERVER["SCRIPT_NAME"] 不同, 此变量只得到文件名而不包含路径,
在test.php 与 test_dir/test2.php 用$_SERVER["SCRIPT_NAME"] 得到的都将是 test.php.
当然, 在test.php 与 test_dir/test2.php 执行 basename($_SERVER["SCRIPT_FILENAME"]) 与 $_SERVER["SCRIPT_NAME"] 相同.
执行 在test.php 与 test_dir/test2.php 执行 realpath(”test.php”) 得到的结果与 $_SERVER["SCRIPT_FILENAME"] 相同.
5) $_SERVER["PHP_SELF"]
将得到浏览器请求页面的文件名, 并剥掉问号 ? 后的内容, 注意:不包含路径,
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php/age=20&name=Tom”。
6) $_SERVER["REQUEST_URI"]
将得到浏览器请求页面的文件名, 以及文件名之后的所有内容(注意: 井号 # 之后的内容将被略去),
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["REUEST_URI"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["REQUEST_URI"] 都将得到 “test.php/age=20&name=Tom”。
*/
// test.php: echo “test1.php variables <br />”; echo “getcwd: “, getcwd(), “<br />”; echo “__FILE__: “, __FILE__, “<br />”; echo “REQUEST_URI: “, $_SERVER["REQUEST_URI"], “<br />”; echo “SCRIPT_NAME: “, $_SERVER["SCRIPT_NAME"], “<br />”; echo “PHP_SELF: “, $_SERVER["PHP_SELF"], “<br />”; echo “SCRIPT_FILENAME “, $_SERVER["SCRIPT_FILENAME"] , “<br />”; // 把 test2.php 包含进来, 在 test2.php 里输出上面的变量,看有什么不同: include_once(”test2/test2.php”);
发表评论
-
PHP stream_context_create()作用和用法分析
2013-04-03 10:28 0创建并返回一个文本数据流并应用各种选项,可用于fopen(), ... -
PHP - Iterator接口的解释
2012-12-06 14:23 902Iterator的接口定义如下: Iterato ... -
php中exec,system及passthru等函数用法
2012-08-13 10:49 1072由于PHP基本是用于WEB程 ... -
HTTP协议状态码详解(HTTP Status Code)
2012-08-13 10:41 1016使用php或者javascript都会 ... -
spl_autoload_register 函数详解
2012-06-19 11:45 6722spl_autoload_register (PHP 5 &g ... -
PHP 程序员学数据结构与算法之《栈》
2012-11-24 17:01 1254介绍 “要成高 ... -
MySQL字段类型
2012-03-13 12:21 894MySQL支持大量的列类型 ... -
20个数据库设计的最佳实践
2012-02-27 10:33 11141、使用定义明确的表或列名,并保持一致(例如,School、S ... -
PHP中curl_setopt的CURLOPT系列 选项(转)
2012-01-17 15:41 3453curl_setopt()函数将为一个CURL会话设置选项。 ... -
2011年最热门的开源PHP项目回顾
2012-01-01 12:07 1179本文来自于对活跃在SourceForge和GitHub上的项目 ... -
PHP开发者常犯的10个MySQL错误
2012-01-01 12:03 917数据库是WEB大多数应用 ... -
PHP XML操作类DOMDocument
2011-08-29 14:18 1377不得不自已写一个.XML ... -
二十五个顶级PHP模板引擎整理
2011-08-09 17:20 1051为了找到一个好的模板引擎,我在互联网上进行搜索,目前已经整理出 ... -
php接收二进制数据流转换成图片
2011-08-04 17:49 11460<?php /** * 图片类 * @au ... -
PHP性能优化贴士——产生高度优化代码
2011-07-19 09:43 989PHP是一种在服务器端执 ... -
PHP register_shutdown_function函数详解
2011-07-18 11:47 1427脚本时常死掉,而且并不总是那么好看. 我们可不想给用户 ... -
PHP程序员最常犯的11个MySQL错误
2011-06-30 15:58 721对于大多数web应用来说,数据库都是一个十分基础性的部 ... -
简述MVC思想与PHP如何实现MVC
2011-06-20 11:17 889我相信已经有很多这样 ... -
PHP中的生成XML文件的4种方法
2011-06-15 11:56 2517<?xml version="1.0&qu ... -
stdClass的介绍
2011-06-02 10:11 1103在PHP开发中,很多时候都会看到别人的代码里有 $use ...
相关推荐
PHP 获取当前 URL 路径的函数及服务器变量详解 在 PHP 中,获取当前 URL 路径的函数及服务器变量是非常重要的,本文将详细介绍 QUERY_STRING、REQUEST_URI、SCRIPT_NAME 和 PHP_SELF 等服务器变量的定义、使用场景...
### PHP 获取当前URL路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、PHP_SELF 在PHP开发中,理解并正确使用服务器变量是至关重要的。这些变量可以帮助开发者获取当前请求的各种信息,例如请求的...
在PHP编程中,获取当前URL路径以及相关的服务器变量是非常常见的需求。这些信息通常可以通过`$_SERVER`全局数组来获取。`$_SERVER`数组包含了与PHP脚本运行时环境相关的各种服务器变量,例如请求方法、脚本位置、URL...
在PHP中,获取当前URL路径以及服务器变量是常见的需求,特别是在处理动态网页和服务器交互时。本文将深入探讨如何利用PHP内置的函数和服务器变量来实现这一目标。 首先,我们来看几个常用的PHP函数,它们可以帮助...
首先,我们需要认识到,PHP本身并没有提供一个直接的函数来获取当前页面的URL,但可以通过组合一些内置的全局数组来实现这一功能。这种需求在Web开发中十分常见,尤其是在处理重定向、生成绝对URL或需要获取当前页面...
本文将深入解析如何在PHP中获取当前URL,并介绍相关的$_SERVER超级全局变量。 首先,让我们看下PHP获取当前URL的典型代码片段: ```php $url_this = "http://" . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['...
其中包括几个与当前URL路径获取相关的超全局变量,具体如下: 1. $_SERVER["QUERY_STRING"]:该变量包含了URL中"?"后面的查询(query)字符串。例如,在URL "***" 中,$_SERVER["QUERY_STRING"]的值将是"name=...
在PHP编程中,获取服务器端的信息是至关重要的,这包括但不限于服务器环境变量、HTTP请求头、服务器软件信息等。下面我们将深入探讨如何使用PHP来获取这些信息。 首先,PHP提供了预定义的全局变量,如`$_SERVER`,...
7. 只取URL路径: 如果你只需要URL的路径部分,可以结合 `$_SERVER['SERVER_NAME']` 和 `$_SERVER['REQUEST_URI']` 并使用 `dirname()` 函数: ```php $url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER[...
在PHP编程中,获取当前网址的信息是常见的需求,这涉及到HTTP协议、服务器环境变量以及PHP内置函数的应用。本文将深入探讨如何在PHP中获取这些信息,并通过实例代码进行解析。 首先,我们需要理解“当前网址”通常...
如果只需要获取不包含查询字符串和锚点的URL路径,可能需要进一步处理`$_SERVER['REQUEST_URI']`。 另外,在使用上述函数时,还需要注意Web服务器的配置,比如是否使用了负载均衡器、是否开启了SSL重定向等。这些...
在编程实践中,了解如何使用这些变量和函数来获取URL和物理路径信息至关重要。它们能够在构建应用时,帮助开发者确保代码在不同的服务器和文件结构中能够正常工作。需要注意的是,在使用这些变量和函数时,开发者...
这些变量通常用于存储请求环境中的信息(如 HTTP 请求参数、服务器变量等),并且在整个脚本执行期间都是可用的。 #### 二、超全局变量列表 下面是 PHP 中常见的超全局变量及其用途: 1. **$GLOBALS**: 存储所有...
2. `dirname()`函数:返回路径的目录部分,例如`dirname(__FILE__)`可以获取到包含当前脚本的目录。 三、使用相对路径的策略 1. 相对当前脚本:如果需要引用与当前执行脚本同级或子级的文件,可以使用相对路径。...
在某些情况下,`$_SERVER['REQUEST_URL']`也可以用来获取不包含参数的URL路径,但需要注意的是,这个变量不是所有服务器环境都支持。如果你发现`REQUEST_URL`为空,可以尝试使用`request_uri()`函数,这是一个通用的...