PHP学习笔记:环境变量
2012-03-19 19:18
956 查看
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:
[php]
view plaincopy
$ENTER = "<br />";
$var1 = 5;
$var2 = 10;
print $GLOBALS['var1'] . $ENTER ;
print $GLOBALS['var2'] . $ENTER ;
GLOBALS和global相似,但也有一些区别,参考:http://www.neatstudio.com/show-644-1.shtml
3. $_SERVER[]
_SERVER是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等信息的数组,eg:
[php]
view plaincopy
$ENTER = "<br />";
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:
[html]
view plaincopy
<form action="test1.php" method="get">
Name: <input type="text" name="name_get" />
Age: <input type="text" name="age_get" />
<input type="submit" />
</form>
<form action="test1.php" method="post">
Name: <input type="text" name="name_post" />
Age: <input type="text" name="age_post" />
<input type="submit" />
</form>
php:
[php]
view plaincopy
//_GET
echo "name:" . $_GET["name_get"] . $ENTER ;
echo "age:" . $_GET["age_get"] . $ENTER;
//_POST
echo "name:" . $_POST["name_post"] . $ENTER ;
echo "age:" . $_POST["age_post"] . $ENTER;
?>
5. $_FILE
通过$_FILES,我们可以从客户计算机向远程服务器上传文件。
上传文件表单:
[html]
view plaincopy
<form action="test1.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
PHP:
[php]
view plaincopy
//_FILE
echo "Error: " . $_FILES["file"]["error"] . "<br />";
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
6. _COOKIE[]
cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制, 常用于识别用户,每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie,通过$_COOKIE[],我们可以将cookie取出。
设置cookie:
[php]
view plaincopy
<?php
setcookie("user", "zxm");
?>
读取cookie:
[php]
view plaincopy
//cookie
if (isset($_COOKIE['user']))
echo "Welcome " . $_COOKIE['user'] . "!<br />";
else
echo "Welcome guest!<br />";
7. _SESSION[]
_SESSION[]存储了有关用户会话的信息。
eg:
[php]
view plaincopy
<?php
session_start();
$_SESSION['id'] = "100";
?>
php:
[php]
view plaincopy
//session
if(isset($_SESSION['id']))
echo "session id: " . $_SESSION['id'] . $ENTER;
else
echo "without session" . $ENTER;
?>
7. _ENV[]
php中的$_ENV存储了一些系统的环境变量,因环境不同而值不同.
8. _REQUEST[]
$_REQUEST包含了$_GET、$_POST、$_COOKIE的所有内容
$_GET、$_POST、$_COOKIE在$_REQUEST中都有一个副本。改变$_REQUEST的值不影响$_GET等,反之亦然。
在同名的情况下,优先级:$_GET < $_POST < $_COOKIE
EG:
[php]
view plaincopy
//request
echo "request: " . $_REQUEST['name_get'] . "!<br />";
?>
8. 测试PHP程序:
[php]
view plaincopy
<?php
setcookie("user", "zxm");
session_start();
$_SESSION['id'] = "100";
?>
<html>
<body>
<?php
$ENTER = "<br />";
//__GLOBALS[]
$var1 = 5;
$var2 = 10;
print $GLOBALS['var1'] . $ENTER ;
print $GLOBALS['var2'] . $ENTER ;
//_SERVER
print "SERVER_ADDR:" . $_SERVER['SERVER_ADDR'] . $ENTER;
//_GET
echo "name:" . $_GET["name_get"] . $ENTER ;
echo "age:" . $_GET["age_get"] . $ENTER;
//_POST
echo "name:" . $_POST["name_post"] . $ENTER ;
echo "age:" . $_POST["age_post"] . $ENTER;
//_FILE
echo "Error: " . $_FILES["file"]["error"] . $ENTER;
echo "Upload: " . $_FILES["file"]["name"] . $ENTER;
echo "Type: " . $_FILES["file"]["type"] . $ENTER;
echo "Size: " . ($_FILES["file"]["size"] / 1024) . $ENTER;
echo "Stored in: " . $_FILES["file"]["tmp_name"] . $ENTER;
//cookie
if (isset($_COOKIE['user']))
echo "Welcome: " . $_COOKIE['user'] . "!<br />";
else
echo "Welcome guest!<br />";
//session
if(isset($_SESSION['id']))
echo "session id: " . $_SESSION['id'] . $ENTER;
else
echo "without session" . $ENTER;
//request
echo "request: " . $_REQUEST['name_get'] . "!<br />";
?>
</body>
</html>
相关文章推荐
- PHP学习笔记:环境变量
- php——学习笔记,怪异的变量作用域以及静态变量作用域
- ruby学习笔记-环境变量
- 菜鸟Java学习笔记02--配置JDK环境变量的目的和HelloJava程序
- PHP学习笔记(一)PHP环境配置
- PHP学习笔记 (1) 环境配置与代码调试
- JAVA学习笔记:第一课(安装,环境变量,编译,运行)
- java学习笔记——window7下JDK环境变量配置图解
- php 学习笔记 —— 变量 数据类型 数组 (二)
- Shell编程(环境变量配置文件)学习笔记
- 【Linux学习笔记】33:环境变量配置文件简介
- UNIX环境编程学习笔记(16)——进程管理之进程环境变量 http://www.cnblogs.com/lienhua34/p/4005367.html
- php学习笔记1--开发环境搭建:apache+php+mysql
- PHP学习笔记 (1)-环境配置与代码调试
- PHP学习笔记【15】--全局变量,静态变量,静态方法,php方法重载
- PHP 学习笔记(一):基础教程:语法,变量,函数,数组,超全局
- PHP学习笔记——服务器变量$_SERVER和坏境变量$_ENV
- 【配置服务器环境学习笔记】linux服务器配置php+mysql+Apache
- PHP学习笔记(一)【PHP简介及开发环境的配置】
- PHP100课程学习笔记1--PHP环境搭配和代码调试