silicon1985
重要的PHP超级全局变量总结

PHP有9个提前定义变量数组。分别总结例如以下:

1、$_SERVER

$_SERVER超级全局变量包括由webserver创建的信息。它提供了server和客户配置及当前请求环境的有关信息。依据server不同,$_SERVER中的变量值和变量个数会有区别,只是一般都能够找到CGI1.1规范中定义的变量。当中包括:

$_SERVER[ 'HTTP_REFERER' ] ; 引导用户到达当前位置的页面的URL ;

$_SERVER[ 'REMOTE_ADDR‘ ] ; 客户IP地址 。

$_SERVER[ ’REQUEST_URI‘ ] ; URL的路径部分。假设URL是 [url]http://www.example.com/blog/apache/index.html[/url] ,那么URI就是/blog/apache/index.html 。

$_SERVER[ 'HTTP_USER_AGENT' ] ; 客户的用户代理。通常会提供操作系统和浏览器的有关信息。

2、$_GET

$_GET超级全局变量包括使用GET方法传递的參数的有关信息。

假设请求URL为[url]http://www.example.com/index.html?

cat=apache&id=157[/url]。 就能够使用$_GET超级全局变量訪问例如以下变量:

$_GET[ 'cat' ] = "apache" ;

$_GET[ 'id' ]   = "157" ;

默认情况下。要訪问通GET方法传递的变量,$_GET超级全局变量是唯一的途径。

3、$_POST

$_POST超级全局变量包括用POST方法传递的參数的有关信息。

<form caction="subscribe.php" method = "post">

<p>

Email address : <br>

<input type="text" name="email" size="20" maxlength="so" value="">

</p>

<p>

Password : <br>

<input type="password" name="pswd" size="20" maxlength="15" value="">

</p>

<p>

<input type="submit" name="subscribe" value="subscribe!">

</p>

</form>

通过脚本subscribe.php,就能够使用以下的POST变量:

$_POST[ 'email' ] = " jason@example.com " ;

$_POST[ 'pswd' ] = "rainyday" ;

$_POST[ 'subscribe' ] = "subscribe!" ;

与$_GET一样。在默认情况下,$_POST超级全局变量是訪问POST变量的唯一途径。

4、$_COOKIE

$_COOKIE超级全局变量存储了通过HTTP cookie传递到脚本的信息。

这些cookie通常是由曾经运行的PHP脚本通过PHP函数setcookie ( ) 设置的。比如,如果使用 setcookie ( )存储了一个名为 example.com、值为ab2213的cookie。以后就能够通过调用$_COOKIE[ ' example.com' ]来获得这个值。

5、$_FILES

$_FILES超级全局变量包括通过POST方法向server上传的数据的有关信息。这个超级全局变量与其它的变量有所不同。它是一个二维数组,包括5个元素。第一个下标标示表单的文件上传元素名;第二个下标是五个提前定义下标之中的一个,这些下标描写叙述了上传文件的某个属性:

△  $_FILES[ 'upload-name' ][ 'name' ]; 从client向server上传文件的文件名称。

△  $_FILES[ 'upload-name' ][ 'type' ]; 上传文件的MIME类型。这个变量是否赋值取决于浏览器的功能。

△  $_FILES[ 'upload-name' ][ 'size' ];  上传文件的大小(以字节为单位);

△  $_FILES[ 'upload-name' ][ 'tmp_name' ]; 上传之后,将此文件移到终于位置之前赋予的暂时名。

△  $_FILES[ 'upload-name' ][ 'error' ]; 上传状态码。

虽然这个变量的名为 error ,但实际上在成功的情况下也会填写这个变量。它有五个可能的值:

■  UPLOAD_ERR_OK   文件成功上传

■  UPLOAD_ERR_INI_SIZE  文件大小超出了 upload_max_filesize 指令所指定的最大值。

■  UPLOAD_ERR_FORM_SIZE  文件大小超出了MAX_FILE_SIZE 隐藏表单域參数(可选)指定的最大值。

■  UPLOAD_ERR_PARTIAL  文件仅仅上传了一部分

■  UPLOAD_ERR_NO_FILE  上传表单中没有指定文件

6、$_ENV

$_ENV超级全局变量提供PHP解析所在server环境的有关信息。此数组中的变量包含:

△  $_ENV[ 'HOSTNAME' ]  server的主机名

△  $_ENV[ 'SHELL' ]  系统 shell

7、$_REQUEST

$_REQUEST超级全局变量是一个全能选手。它记录了通过各种方法传递给脚本的变量,特别是GET ,POST 和 COOKIE 。

这些变量的顺序不依赖于它们在发送脚本中出现的顺序,而是依赖于 variables_order 配置指令所指定的顺序。建议少用这个超级变量。由于它不够安全。

8、$_SESSION

$_SESSION 超级全局变量包括与全部会话有关的信息。

注冊会话信息能为你提供便利,这样就能在整个站点中引用这些会话信息。而无需通过GET或POST显示的传递数据。

9、$GLOBALS

$GLOBALS 超级全局变量数组能够觉得是超级全局变量的超集,包括全局作用域内的全部变量。运行以下的代码能够查看$GLOBALS 中全部的变量。

print ' <pre>' ;

print_r ($GLOBALS);

print ' </pre>' ;

PHP超级全局变量总结的更多相关文章

  1. 跟着百度学PHP[6]超级全局变量

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. 参考文献:http://www.runoob.com/php/php-superglobals ...

  2. PHP中变量,常量,超级全局变量小结

    //一般来说,变量在函数无法在函数体中无法访问,但是常量可以.//超级全局变量确实可以的,地址栏上的参数/*$GLOBALS   //变量注册的信息$_GET      //地址栏参数$_POST   ...

  3. PHP 超级全局变量

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作 ...

  4. PHP中的超级全局变量

    PHP内置了一些超级全局变量,我们可以在脚本的任何地方使用和可见,下面记录一下这些全局变量的作用: 1.$_SERVER $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户 ...

  5. PHP利用超级全局变量$_GET来接收表单数据。

    我们在linux上用 touch php_get.html php_get.php创建两个文件. php_get.html文件的代码如下: <!doctype html> <html ...

  6. PHP利用超级全局变量$_POST来接收表单数据。

    利用$_POST超级全局变量接收表单的数据,然后利用echo输出到页面. 下面是代码: <!doctype html> <html> <head> <titl ...

  7. PHP超级全局变量、魔术变量和魔术函数

    PHP超级全局变量(9个) $GLOBALS 储存全局作用域中的变量 $_SERVER 获取服务器相关信息 $_REQUEST 获取POST和GET请求的参数 $_POST 获取表单的POST请求参数 ...

  8. php之快速入门学习-12(超级全局变量)

    PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglo ...

  9. PHP 之超级全局变量

    参考菜鸟教程,并经过自己亲手实验,记录PHP的几个超级全局变量 所谓超级全局变量 ,你可以理解为在一个脚本里面的全部代码里面都可以使用的变量. $GLOBALS $GLOBALS 是 php 的一个超 ...

随机推荐

  1. IT全称

    1.jar,war,ear(摘自:http://blog.sina.com.cn/s/blog_54bb7b950100wnbb.html) Jar文件(扩展名为. Jar)包含Java类的普通库.资 ...

  2. 8月1日起,这些新政将影响移动互联网产业-b

    今天,国家互联网信息办公室发布<移动互联网应用程序信息服务管理规定>.这项规定将从8月1日起生效,其中侧重对两类玩家提出了监管意见,他们分别是: 移动互联网应用程序提供者,即提供信息服务的 ...

  3. 注解方式传LIST@RequestBody

    在SpringMVC中使用注解方式传List类型的参数时,要使用@RequestBody注解而不是@RequestParam注解 //创建文件夹 @RequestMapping(value=" ...

  4. 第 9 章 模板方法模式【Template Method Pattern】

    以下内容出自:<<24种设计模式介绍与6大设计原则>> 周三,9:00,我刚刚坐到位置,打开电脑准备开始干活. “小三,小三,叫一下其它同事,到会议室,开会”老大跑过来吼,带着 ...

  5. Investigation of Different Nets and Layers

    Investigation of Different Nets and Layers Overview of AlexNet (MIT Places | Flickr Finetuned | Oxfo ...

  6. iOS开发控制器之间传值的几种小方法

    在IOS开发中或面试中,经常会遇到,两个或者多个控制器之间传值的问题 ,总结的集中方法仅供参考! 问题 :将B控制器中的textField 输入内容,传到A控制器中的label上显示出来,如何传值? ...

  7. 故障模块名称: NetdiskExt64.dll的解决之法

    故障模块名称: NetdiskExt64.dll的解决之法 2013年8月5日 开机,资源管理器报错.详细报错信息如下:   问题签名:   问题事件名称:    APPCRASH   应用程序名:  ...

  8. 用sql增、修改、删除字段

    --给一个表增加一个字段 ); --给一个表修改一个字段的数据类型 ,); --通用sql修改字段的用法 ,); --删除一个字段 alter table wm_goods drop column b ...

  9. LM393,LM741可以用作电压跟随器吗?

    应该不能,比较器一般为OC门,输出要上拉VCC,在跟随状态下为深度负反馈,恐怕不能正常工作,会振荡的,不过你可以试下嘛.

  10. POJ_2503_Babelfish_(Trie/map)

    描述 http://poj.org/problem?id=2503 给出一个字典,求翻译,翻译不了输出eh. Babelfish Time Limit: 3000MS   Memory Limit: ...