PHP 之超级全局变量
- 参考菜鸟教程,并经过自己亲手实验,记录PHP的几个超级全局变量
- 所谓超级全局变量 ,你可以理解为在一个脚本里面的全部代码里面都可以使用的变量。
- $GLOBALS
    $GLOBALS  是 php 的一个超级全局变量组,在PHP脚本中的全部作用域都可以访问
    $GLOBALS 是一个包含了全部变量的全局组合数组,变量的名字就是  $GLOBAL 的键值。
    你可以理解为 使用了 $GLOBALS  就可以使用这个脚本里面的任何一个任何地方的变量。
    例子如下
   <!doctype html>
    <html>
    <body>
    <?php
    $a = 55;
    $b = 66;
    function add_test()
    {
        $GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b'];
    }
    add_test();
    echo $c;
    ?>
    </body>
    </html>

- $_SERVER 超级全局变量
    $_SERVER 是一个包含比如 头信息, 脚本路径,名称各种属性的超级全局变量,这个数组由 web 服务器创建
    $_SERVER    有一些常用的键值,如下:
    $_SERVER['PHP_SELF']    表示的是当前执行执行脚本的名字, 比如说当前是 index.php , 那么这个值就是 index.php
    $_SERVER['GATEWAY_INTERFACE']    表示服务器所使用的  CGI 规范的版本
    $_SERVER['SERVER_ADDR']    当前运行脚本所在的服务器的 IP 地址。
    $_SERVER['SERVER_NAME']    当前运行脚本所在的服务器的主机名
    $_SERVER['SERVER_SOFTWARE']    服务器标识字符串,在响应请求时的头信息中给出,如Apache/2.2.24
    $_SERVER['SERVER_PROTOCOL']    请示页面时通信协议的名称和版本, 如: HTTP/1.0
    $_SERVER['REQUEST_METHOD']      访问页面使用的请求方法, 例如:"GET"   "HEAD", "POST"  , "PUT"
    $_SERVER['REQUEST_TIME']    请求开始时的时间戳, 如  1377687499
    $_SERVER['QUERY_STRING']    query string  (查询字符串),  如果有的话,通过他进行页面访问
    $_SERVER['HTTP_ACCEPT']       当前请求头中  Accept  项中的内容, 如果存在的话。
    $_SERVER['HTTP_ACCEPT_CHARSET']    当前请求头中  Accept-Charset 项中的内容
    $_SERVER['HTTP_HOST']  当前请求中 Host 项的内容,如果存在的话。
    $_SERVER['REMOTE_ADDR']	浏览当前页面的用户的 IP 地址。
    $_SERVER['REMOTE_HOST']	浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR。
    $_SERVER['REMOTE_PORT']	用户机器上连接到 Web 服务器所使用的端口号。
    $_SERVER['SCRIPT_FILENAME']	当前执行脚本的绝对路径。
    $_SERVER['SCRIPT_NAME']	包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。
    例子如下:
        <!doctype html>
    <html>
    <body>
    <?php
    echo $_SERVER['PHP_SELF'];
    echo "<br>";
    echo $_SERVER['GATEWAY_INTERFACE'];
    echo "<br>";
    echo $_SERVER['SERVER_ADDR'];
    echo "<br>";
    echo $_SERVER['SERVER_NAME'];
    echo "<br>";
    echo $_SERVER['SERVER_SOFTWARE'];
    echo "<br>";
    echo $_SERVER['SERVER_PROTOCOL'];
    echo "<br>";
    echo $_SERVER['REQUEST_METHOD'];
    echo "<br>";
    echo $_SERVER['REQUEST_TIME'];
    echo "<br>";
    echo $_SERVER['REMOTE_ADDR'];
    echo "<br>";
    echo $_SERVER['REMOTE_HOST'];
    echo "<br>";
    echo $_SERVER['REMOTE_PORT'];
    echo "<br>";
    echo $_SERVER['SCRIPT_NAME'];
    echo "<br>";
    ?>  
    </body>
    </html>
    例子

- $_REQUEST
    $_REQUEST  是用于收集  HTML 表单提交的数据。
    例子如下:
        <!doctype html>
    <html>
    <body>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?> ">
    name : <input type="text" name="example">
    <input type="submit">
    </form>
    <?php
        $name = $_REQUEST['example'];
        echo $name;
    ?>  
    </body>
    </html>
    效果:

- $_POST 功能上基本和 $_REQUEST 基本一样
    例子如下:
    <!doctype html>
    <html>
    <body>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    test : <input type="text" name="test1">
    <input type="submit">
    </form>
    <?php
        $test1 = $_POST['test1'];
        echo $test1
    ?>
    </body>
    </html>
    效果:

- $_GET 的用法和上面的有类似的地方,如下:
   <!doctype html>
    <html>
    <body>
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">
    name: <input type="text" name="fname">
    age: <input type="text" name="age">
    <input type="submit" value="check">
    </form>
    <?php
        echo "name: ".$_GET['fname']."<br>";
        echo "age : ".$_GET['age']."<br>";
    ?>
    </body>
    </html>
    效果:
PHP 之超级全局变量的更多相关文章
- 跟着百度学PHP[6]超级全局变量
		超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. 参考文献:http://www.runoob.com/php/php-superglobals ... 
- PHP中变量,常量,超级全局变量小结
		//一般来说,变量在函数无法在函数体中无法访问,但是常量可以.//超级全局变量确实可以的,地址栏上的参数/*$GLOBALS //变量注册的信息$_GET //地址栏参数$_POST ... 
- PHP 超级全局变量
		超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作 ... 
- PHP中的超级全局变量
		PHP内置了一些超级全局变量,我们可以在脚本的任何地方使用和可见,下面记录一下这些全局变量的作用: 1.$_SERVER $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户 ... 
- PHP超级全局变量总结
		silicon1985 的 重要的PHP超级全局变量总结 PHP有9个提前定义变量数组.分别总结例如以下: 1.$_SERVER $_SERVER超级全局变量包括由webserver创建的信息.它提供 ... 
- PHP利用超级全局变量$_GET来接收表单数据。
		我们在linux上用 touch php_get.html php_get.php创建两个文件. php_get.html文件的代码如下: <!doctype html> <html ... 
- PHP利用超级全局变量$_POST来接收表单数据。
		利用$_POST超级全局变量接收表单的数据,然后利用echo输出到页面. 下面是代码: <!doctype html> <html> <head> <titl ... 
- PHP超级全局变量、魔术变量和魔术函数
		PHP超级全局变量(9个) $GLOBALS 储存全局作用域中的变量 $_SERVER 获取服务器相关信息 $_REQUEST 获取POST和GET请求的参数 $_POST 获取表单的POST请求参数 ... 
- php之快速入门学习-12(超级全局变量)
		PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglo ... 
随机推荐
- PAT 1085 Perfect Sequence
			PAT 1085 Perfect Sequence 题目: Given a sequence of positive integers and another positive integer p. ... 
- 教程 | 一文入门Python数据分析库Pandas
			首先要给那些不熟悉 Pandas 的人简单介绍一下,Pandas 是 Python 生态系统中最流行的数据分析库.它能够完成许多任务,包括: 读/写不同格式的数据 选择数据的子集 跨行/列计算 寻找并 ... 
- [转]Vue生态系统中的库
			Vue UI组件库 Vuex vux github ui demo:https://github.com/airyland/vux Mint UI 项目主页:http://mint-ui.github ... 
- Hibernate 、 Axis2发布
			1. you just compile your web-service into aar file (not include bean files), copy the aar into axis2 ... 
- Android HTTP通讯
			这里有一个非常棒的http通讯的总结,我看了以后茅塞顿开. 先贴代码: 01 public class Activity1 extends Activity { 02 03 private ... 
- ngx_lua学习笔记 -- capture + proxy 实现httpclient
			题注 最近我在学习nginx的lua插件,发现结合nginx的异步io和lua的流程控制能力,还是有很丰富的想象空间的:几乎所有常见的http请求的处理逻辑都能搞定,诸如查查数据库,访问一下memca ... 
- iOS - BSDSocket 的使用
			1.BSDSocket 一套 unix 系统下的 socket API(纯 C). iOS 系统基于 unix,所以支持底层的 BSD Socket,在 Xcode 中可以直接使用. 2.基本使用 2 ... 
- python练习笔记——用列表推导式生成二维列表
			用列表推导式如何生成如下列表:[[1, 2, 3], [4, 5, 6], [7, 8, 9]] inner_list = [] outer_list = [] for i in range(1,10 ... 
- linux文件系统管理的工作原理
			一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ... 
- mac下设置redis开机启动方法
			Mac OS 的开机启动方式 launchd 是 Mac OS 下用于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第一个进程.其实它的作用就是我们平时说的守护进程,简单来说,用户守 ... 
