php预定义变量各种方法总结

php 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。一些预定义变量在 php 以命令行形式运行时并不生效。有关这些变量的详细列表

用户自定义预定义变量

代码如下

系统预定义变量

$globals
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。从 php 3 开始存在 $globals 数组。

$_server
变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $http_server_vars 数组(依然有效,但反对使用)。

$_get
经由 url 请求提交至脚本的变量。类似于旧数组 $http_get_vars 数组(依然有效,但反对使用)。

$_post
经由 http post 方法提交至脚本的变量。类似于旧数组 $http_post_vars 数组(依然有效,但反对使用)。

$_cookie
经由 http cookies 方法提交至脚本的变量。类似于旧数组 $http_cookie_vars 数组(依然有效,但反对使用)。

$_files
经由 http post 文件上传而提交至脚本的变量。类似于旧数组 $http_post_files 数组(依然有效,但反对使用)。详细信息请参阅 post 方法上传。
$_env
执行环境提交至脚本的变量。类似于旧数组 $http_env_vars 数组(依然有效,但反对使用)。

$_request
经由 get,post 和 cookie 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。此数组在 php 4.1.0 之前没有直接对应的版本。参见 import_request_variables()。

自 php 4.3.0 起,$_files 中的文件信息不再存在于 $_request 中。

note: 当运行于命令行模式时,此数组将不会包含 argv 和 argc 条目;它们已经存在于数组 $_server 中。

$_session
当前注册给脚本会话的变量。类似于旧数组 $http_session_vars 数组(依然有效,但反对使用)。

$_server[‘php_self’]

当前正在执行脚本的文件名,与 document root相关。举例来说,在url地址为 http://example.com/test.php/foo.bar 的脚本中使用 $_server[‘php_self’] 将会得到 /test.php/foo.bar 这个结果。如果 php 以命令行方式运行,该变量无效。

$_server[‘server_name’]

当前运行脚本所在服务器主机的名称。如果该脚本运行在一个虚拟主机上,该名称是由那个虚拟主机所设置的值决定。例如,在url地址为 /test.php $_server[‘server_name’] 将会得到 这个结果。

代码如下

http://www.bkjia.com/phpjc/628760.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/628760.htmltecharticlephp 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。一些预定义变量…

Posted in 未分类