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)
  • 相关阅读:
    使用 ASP.NET Core MVC 创建 Web API(五)
    使用 ASP.NET Core MVC 创建 Web API(四)
    使用 ASP.NET Core MVC 创建 Web API(三)
    使用 ASP.NET Core MVC 创建 Web API(二)
    使用 ASP.NET Core MVC 创建 Web API(一)
    学习ASP.NET Core Razor 编程系列十九——分页
    学习ASP.NET Core Razor 编程系列十八——并发解决方案
    一个屌丝程序猿的人生(九十八)
    一个屌丝程序猿的人生(九十七)
    一个屌丝程序猿的人生(九十五)
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/7766582.html
Copyright © 2011-2022 走看看