PHP学习笔记:环境变量


1. 概述

    PHP环境变量主要有:
    $GLOBALS[]:储存当前脚本中的所有全局变量,其KEY为变量名,VALUE为变量值
    $_SERVER[]:当前WEB服务器变量数组
    $_GET[]:存储以GET方法提交表单中的数据
    $_POST[]:存储以POST方法提交表单中的数据
    $_COOKIE[]:取得或设置用户浏览器Cookies中存储的变量数组
    $_FILES[]:存储上传文件提交到当前脚本的数据
    $_ENV[]:存储当前WEB环境变量
    $_REQUEST[]:存储提交表单中所有请求数组,其中包括:$_GET、$_POST、$_COOKIE和$_SESSION中的所有内容
    $_SESSION[]:存储当前脚本的会话变量数组

2.  $GLOBALS[]
     GLOBALS是由已定义全局变量组成的数组,变量名就是数组的索引,eg:

  1. $ENTER = "<br />";  
  2. $var1 = 5;    
  3. $var2 = 10;    
  4. print $GLOBALS['var1'] . $ENTER ;  
  5. print $GLOBALS['var2'] . $ENTER ;  
     GLOBALS和global相似,但也有一些区别,参考:http://www.neatstudio.com/show-644-1.shtml
3.  $_SERVER[]
       _SERVER是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等信息的数组,eg:
  1. $ENTER = "<br />";  
  2. print "SERVER_ADDR:" . $_SERVER['SERVER_ADDR'] . $ENTER;  

       参考:http://www.php.net/manual/zh/reserved.variables.server.php

4. $_GET和_POST
    $_GET和_POST用来接收请求数据,实现输入
    $_GET内容通过 URL 参数传递给当前脚本的变量的数组。    
    $_POST内容是由 HTTP POST方法发送的变量名称和值。 
    GET是HTTP中最原始的请求方式,在网页中点击一个超级链接或在地址栏输入一个URL都会发送一个GET请求。在GET请求中,数据是后缀在URL后面来发送的,like:http://192.168.21.133/test1.php? name_get=zxm&age_get=23
    POST方法的主要用途就是传递数据,它将数据放在所有请求标题的后面上传,这样一来,无论有多少数据上传都不成问题了
 eg:
HTML:
  1. <form action="test1.php" method="get">  
  2. Name: <input type="text" name="name_get" />  
  3. Age:  <input type="text" name="age_get" />  
  4. <input type="submit" />  
  5. </form>  
  6.   
  7. <form action="test1.php" method="post">  
  8. Name: <input type="text" name="name_post" />  
  9. Age:  <input type="text" name="age_post" />  
  10. <input type="submit" />  
  11. </form>  
php:
  1. //_GET  
  2. echo "name:" . $_GET["name_get"] . $ENTER ;  
  3. echo "age:" . $_GET["age_get"] . $ENTER;  
  4.   
  5. //_POST  
  6. echo "name:" . $_POST["name_post"] . $ENTER ;  
  7. echo "age:" . $_POST["age_post"] . $ENTER;  
  8. ?>  

5. $_FILE  
      通过$_FILES,我们可以从客户计算机向远程服务器上传文件。
      上传文件表单:
  1. <form action="test1.php" method="post"  
  2. enctype="multipart/form-data">  
  3. <label for="file">Filename:</label>  
  4. <input type="file" name="file" id="file" />  
  5. <br />  
  6. <input type="submit" name="submit" value="Submit" />  
  7. </form>  
PHP:
  1. //_FILE  
  2. echo "Error: " . $_FILES["file"]["error"] . "<br />";  
  3. echo "Upload: " . $_FILES["file"]["name"] . "<br />";  
  4. echo "Type: " . $_FILES["file"]["type"] . "<br />";  
  5. echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";  
  6. echo "Stored in: " . $_FILES["file"]["tmp_name"];  
6. _COOKIE[]
    cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制, 常用于识别用户,每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie,通过$_COOKIE[],我们可以将cookie取出。
设置cookie:
  1. <?php                                                                                                                                                                                         
  2. setcookie("user""zxm");                                                                                                                                                               
  3. ?>    
读取cookie:
  1. //cookie  
  2. if (isset($_COOKIE['user']))  
  3.   echo "Welcome " . $_COOKIE['user'] . "!<br />";  
  4. else  
  5.   echo "Welcome guest!<br />";  
7. _SESSION[]
    _SESSION[]存储了有关用户会话的信息。
 eg:
  1. <?php  
  2. session_start();  
  3. $_SESSION['id'] = "100";  
  4. ?>  
php:
  1. //session  
  2. if(isset($_SESSION['id']))  
  3.         echo "session id: " . $_SESSION['id'] . $ENTER;  
  4. else  
  5.         echo "without session" . $ENTER;  
  6.   
  7. ?>  
7. _ENV[]
    php中的$_ENV存储了一些系统的环境变量,因环境不同而值不同.
8. _REQUEST[]
    $_REQUEST包含了$_GET、$_POST、$_COOKIE的所有内容
    $_GET、$_POST、$_COOKIE在$_REQUEST中都有一个副本。改变$_REQUEST的值不影响$_GET等,反之亦然。
    在同名的情况下,优先级:$_GET <  $_POST < $_COOKIE
 EG:
  1. //request  
  2. echo "request: " . $_REQUEST['name_get'] . "!<br />";  
  3. ?>  
8. 测试PHP程序:
  1. <?php  
  2. setcookie("user""zxm");  
  3. session_start();  
  4. $_SESSION['id'] = "100";  
  5. ?>  
  6.   
  7. <html>  
  8. <body>  
  9. <?php  
  10. $ENTER = "<br />";  
  11.   
  12. //__GLOBALS[]  
  13. $var1 = 5;    
  14. $var2 = 10;    
  15. print $GLOBALS['var1'] . $ENTER ;  
  16. print $GLOBALS['var2'] . $ENTER ;  
  17.   
  18. //_SERVER  
  19. print "SERVER_ADDR:" . $_SERVER['SERVER_ADDR'] . $ENTER;  
  20.   
  21. //_GET  
  22. echo "name:" . $_GET["name_get"] . $ENTER ;  
  23. echo "age:" . $_GET["age_get"] . $ENTER;  
  24.   
  25. //_POST  
  26. echo "name:" . $_POST["name_post"] . $ENTER ;  
  27. echo "age:" . $_POST["age_post"] . $ENTER;  
  28.   
  29. //_FILE  
  30. echo "Error: " . $_FILES["file"]["error"] . $ENTER;  
  31. echo "Upload: " . $_FILES["file"]["name"] . $ENTER;  
  32. echo "Type: " . $_FILES["file"]["type"] . $ENTER;  
  33. echo "Size: " . ($_FILES["file"]["size"] / 1024) . $ENTER;  
  34. echo "Stored in: " . $_FILES["file"]["tmp_name"] . $ENTER;  
  35.   
  36. //cookie  
  37. if (isset($_COOKIE['user']))  
  38.     echo "Welcome: " . $_COOKIE['user'] . "!<br />";  
  39. else  
  40.     echo "Welcome guest!<br />";  
  41.   
  42. //session  
  43. if(isset($_SESSION['id']))  
  44.     echo "session id: " . $_SESSION['id'] . $ENTER;  
  45. else  
  46.     echo "without session" . $ENTER;  
  47.   
  48. //request  
  49. echo "request: " . $_REQUEST['name_get'] . "!<br />";  
  50. ?>  
  51. </body>  
  52. </html> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值