php 预定义变量各种方法总结
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-03 13:24:07 浏览: 评论:0
PHP 提供了大量的预定义变量.由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档.一些预定义变量在 PHP 以命令行形式运行时并不生效.有关这些变量的详细列表.
用户自定义预定义变量
实例代码如下:
- <?php
- echo "当前操作系统信息".PHP_OS."<br/>";
- echo '本文件路径和文件名为:'.__FILE__.'<br />';
- echo "当前PHP版本信息".PHP_VERSION."<br/>";
- ?>
系统预定义变量
$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'] 将会得到 这个结果.
实例代码如下:
- <?php
- // user sent a GET header with key = secret_access, val = true, so
- echo $_GET["secret_access"]; // output: true
- echo $secret_access; // output:
- session_start();
- // in previous logic, you set session variable $secret_access = false
- echo $_SESSION["secret_access"]; // output: false
- echo $secret_access; // output: false
- extract_globals(); // Globals put into "normal" variables
- echo $_GET["secret_access"]; // output: true
- echo $_SESSION["secret_access"]; // output: false
- echo $secret_access; // output: true
- // VARIABLES ARE COMPROMISED!
- // DO NOT USE $secret_access !
- // USE $_SESSION["secret_access"] instead !!!
- ?>
Tags: 预定 变量 各种
- 上一篇:php中三元运算符用法详解
- 下一篇:php程序不显示错误设置方法
相关文章
- ·PHP预定义变量(2014-01-14)
- ·PHP基础之预定义变量(2021-01-02)
- ·PHP预定义变量9大超全局数组用法详解(2021-07-30)
- ·PHP学习之预定义变量(实例讲解)(2021-08-27)
- ·PHP预定义超全局数组变量小结(2021-10-25)
- ·不常用但很实用的PHP预定义变量分析(2021-11-28)
- ·PHP中全局变量global和$GLOBALS[]的区别(2013-12-02)
- ·php 全局变量global的使用方法(2013-12-23)
- ·php变量的引用传值详细教程(2014-01-03)
- ·PHP中global全局变量的作用范围(2014-01-06)
- ·变量的变量,PHP和你(2014-01-14)
- ·php 数据类型和变量(2014-01-15)
- ·php变量引用与对象引用详解介绍(2014-01-16)
- ·php变量使用方法详解(2014-01-16)
- ·PHP Global变量定义一些用法详解(2014-01-17)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)