zoukankan      html  css  js  c++  java
  • 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>
    
    ![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101150641716-1368246906.png)
    
    • $_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>
    
        例子
    
    ![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101162557341-1524850394.png)
    
    • $_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>
    
        效果:
    
    ![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101164958420-1914807539.png)
    
    • $_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>
    
        效果:
    
    ![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101170020248-1203073496.png)
    
    • $_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>
    
        效果:
    
    ![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101180355091-90099534.png)
  • 相关阅读:
    杭电2081
    杭电2083
    杭电2084
    3/5/2014 cfb 小心
    116
    uva10003
    10815
    127
    674
    uva 13598
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/7766582.html
Copyright © 2011-2022 走看看