解析php中获取url与物理路径的总结

yipeiwu_com7年前PHP代码库

在这里我想总结一下取得地址栏内URL及文件所属的我更路径的一些信息:
运用$_SERVER[ ]我们可以来完成许多事情:它是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建。
这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用global $_SERVER; 访问它,就如同使用 $HTTP_SERVER_VARS 一样。
$HTTP_SERVER_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的变量,PHP 处理它们的方式不同。)如果设置了 register_globals 指令,这些变量也在所有脚本中可用;也就是,分离了 $_SERVER 和 $HTTP_SERVER_VARS 数组。
 
$_SERVER['HTTP_HOST'] 取得当前请求的Host:头部内容
$_SERVER['PHP_SELF']这可能是我们最为经常用到的了,它返回当前调用 的页的文件名,如果是http://localhost/test/2005/test.php, 那么将会返回/test/2005/test.php
$_SERVER['SCRIPT_NAME']它将返回包含当前脚本的路径。这在页面需要指向自己时非常有用
$_SERVER['SCRIPT_FILENAME']它将返回当前文件所在的绝对路径信息
$_SERVER['REQUEST_URI']返回访问此页面所需的URI,包括"/"

当然还有许多路径函数:
dirname(),返回路径信息中的目录部分,前面是带有"/"的
basename()返回路径中的基本的文件名部分,当然也可以设置后缀来控制输出。
realpath(),返回路径信息的绝对规范化的路径

相关文章

php下关于Cannot use a scalar value as an array的解决办法

今天在测试php程序的时候,出现了一个错误提示:Cannot use a scalar value as an array,这个错误提示前几天也出过,当时好像稍微调了一下就好了,也没深究...

PHP实现分布式memcache设置web集群session同步的方法

PHP实现分布式memcache设置web集群session同步的方法

本文实例讲述了PHP实现分布式memcache设置web集群session同步的方法。 php的session默认是文件存储: session.save_handler = file...

模拟flock实现文件锁定

主要提供了一种思路。   $lock0和$lock1就是文件锁定的标识符,当文件被某一用户打开的时候,$lock0和$lock1就会产生,当该文件没打开则不存在。 &...

PHP的Yii框架中过滤器相关的使用总结

Yii过滤器简介 过滤器是一段代码,可被配置在控制器动作执行之前或之后执行。例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证;性能过滤器可用于测量控制器执行所用...

php中get_magic_quotes_gpc()函数说明

get_magic_quotes_gpc函数是一个用来判断是否为用户提供的数据增加斜线了,这个在php.ini配置文件中哦,下面我来介绍一下get_magic_quotes_gpc()函...