PHP $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 之间的区别

http://www.5idev.com/php/index.php/test/foo?username=hbolive
  • $_SERVER[‘PHP_SELF‘] 得到:/php/index.php/test/foo
  • $_SERVER[‘SCRIPT_NAME‘] 得到:/php/index.php
  • $_SERVER[‘REQUEST_URI‘] 得到:/php/index.php/test/foo?username=hbolive

从该例子可以看出:

  1. $_SERVER[‘PHP_SELF‘] 则反映的是 PHP 程序本身;
  2. $_SERVER[‘SCRIPT_NAME‘] 反映的是程序文件本身(这在页面需要指向自己时非常有用);
  3. $_SERVER[‘REQUEST_URI‘] 则反映了完整 URL 地址(不包括主机名)。

其实从各自的命名上,也可以体现出它们之间的细微差别。

特别的,对于如下地址:

http://www.5idev.com/
  • $_SERVER[‘PHP_SELF‘] 得到:/index.php
  • $_SERVER[‘SCRIPT_NAME‘] 得到:/index.php
  • $_SERVER[‘REQUEST_URI‘] 得到:/

至于有人提到 $_SERVER[‘PHP_SELF‘] 与 $_SERVER[‘SCRIPT_NAME‘] 在 PHP 以 CGI 模式运行下会有区别。由于 PHP 在 CGI 模式运行下并不多见,测试较为麻烦,在此就不再叙述了。如有这种情况,可注意并自行测试。

http://www.5idev.com/p-php_server_php_self_script_name_request_uri.shtml

PHP $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 之间的区别

时间: 2024-10-15 02:07:02

PHP $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 之间的区别的相关文章

php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别

"PHP_SELF" 当前正在执行脚本的文件名,与 document root 相关.举例来说,在 URL 地址为 http://www.jb51.net/test.php/foo.bar 的脚本中使用 $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果.__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名. "SCRIPT_NAME" 包含当前脚本的路径.这在页面需要指向自己时非常有用.__FILE__ 包

$_SERVER变量 以及 PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题

PHP $_SERVER['PHP_SELF'] $_SERVER['PHP_SELF'] 表示当前 php 文件相对于网站根目录的位置地址,与 document root 相关. 假设我们有如下网址,$_SERVER['PHP_SELF']得到的结果分别为: http://www.5idev.com/php/ :/php/index.php http://www.5idev.com/php/index.php :/php/index.php http://www.5idev.com/php/i

[PHP学习教程 - 网络]002.$_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]介绍($_SERVER URL Infomation)

引言:在使用原生PHP的时候,对于URL路径的切割,如:域名,查询参数等等的提取,通常绝大多数兄弟会忽略$_SERVER中定义的内置常量的关系,这里为大家讲解一下. 常用的URL请求路径$_SERVER常量包含以下四个API! $_SERVER["SCRIPT_NAME"]  获取当前脚本的路径,如:index.php $_SERVER["PHP_SELF"]  当前正在执行脚本的文件名 $_SERVER["QUERY_STRING"]  获取查

$_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]

1.$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2.$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3.$_SERVER["QUERY_STRING"] 说明:查询(query)的字符串 4.$_SERVER["REQUEST_URI"] 说明:访问此页面所需的URI 实例: 1.http://blog.snsgou.com/ (直接打开主页) 结果: $_SERVER[

Nginx-uri、request_uri、document_uri之间的区别

在nginx中有几个关于uri的变量,包括$uri.$request_uri.$document_uri,下面看一下他们的区别 :$request_uri: /stat.php?id=1585378&web_id=1585378$uri /stat.php$document_uri: /stat.php 转自:http://blog.chinaunix.net/uid-7530389-id-2050109.html

nginx location 与 $request_uri 的匹配区别

举例  http://www.jastme.org/Handler/FileHandler.ashx?fid=207ec068-2571-404d-84cd-f4c2a475865f_152X152_1 我现在有这样一个需求 把http://www.jastme.org/Handler/FileHandler.ashx?fid=207ec068-2571-404d-84cd-f4c2a475865f_152X152_1 在nginx中重写成 http://www.jastme.org/Handl

PHP_$_SERVER中QUERY_STRING,REQUEST_URI的用法

$_SERVER存储当前服务器信息,其中有几个值如 $_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_SERVER["SCRIPT_NAME"], $_SERVER["PHP_SELF"] 常常容易混淆,以下通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF变量区别,掌握这四者之间的关系,便于在实际

$_SERVER存储

$_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_SERVER["SCRIPT_NAME"], $_SERVER["PHP_SELF"] 常常容易混淆,以下通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF变量区别,掌握这四者之间的关系,便于在实际应用中正确获取所需要的值,供参考. 1,$_SERV

PHP服务器变量$_SERVER及其几个函数的使用

PHP服务器变量$_SERVER及其几个函数的使用 PHP服务器变量$_SERVER及其几个函数的使用:QUERY_STRING.REQUEST_URI.SCRIPT等1.$_SERVER["QUERY_STRING"]说明:获取的query的字符串2.$_SERVER["REQUEST_URI"]说明:访问地址的页面及页面参数Url3.$_SERVER["SCRIPT_NAME"]说明:访问当前脚本的路径4.$_SERVER["PHP