这篇随笔是对预定义数组变量的总结。通过预定义数组变量,我们可以获得系统环境、用户对话、表单数据等信息。
1.服务器变量:$_SERVER
利用foreach语句打印$_SERVER中的所有元素:
1 <?php 2 foreach($_SERVER as $key => $value){ 3 echo $key.' => '.$value.'<br>'; 4 } 5 ?>
2.环境变量: $_ENV(无输出结果)
3.GET变量:$_GET
1 <form action="<?$_SERVER['PHP_SELF']?>" method="GET"> 2 姓名:<input type="text" name="name" size="15"/> 3 年龄:<input type="text" name="age" size="15"/> 4 爱好:<input type="text" name="hobby" size="15"/> 5 <input type="submit" name="submit" value="提交"/> 6 </form> 7 <?php 8 if(isset($_GET['submit'])){ 9 echo '<p>'; 10 echo '姓名:'.$_GET['name'].'<br>'; 11 echo '年龄:'.$_GET['age'].'<br>'; 12 echo '爱好:'.$_GET['hobby'].'<br>'; 13 } 14 ?>
4.POST变量:$_POST
通过POST方式传递数据时,数据不会显示在URL中,因此相比GET方式更安全。而且,POST方式传递的数据量理论上没有限制。
1 <form action="<?$_SERVER['PHP_SELF']?>" method="POST"> 2 姓名:<input type="text" name="name" size="15"/> 3 年龄:<input type="text" name="age" size="15"/> 4 爱好:<input type="text" name="hobby" size="15"/> 5 <input type="submit" name="submit" value="提交"/> 6 </form> 7 <?php 8 if(isset($_POST['submit'])){ 9 echo '<p>'; 10 echo '姓名:'.$_POST['name'].'<br>'; 11 echo '年龄:'.$_POST['age'].'<br>'; 12 echo '爱好:'.$_POST['hobby'].'<br>'; 13 } 14 ?>
5.文件上传变量:$_FILES(代码提示有误,无法找到上传文件)
1 <form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="POST"> 2 <input type="hidden" name="MAX_FILE_SIZE" value="104857600" /><!--100M --> 3 上传文件:<input name="upload_file" type="file" size="50"/> 4 <input type="submit" name="submit" value="上传" /> 5 </form> 6 <?php 7 if(isset($_POST['submit'])){ 8 echo $_FILES['uplaod_file']['error']==UPLOAD_ERR_OK ? '上传成功!<br>': '上传失败!<br>'; 9 echo '上传文件名:'.$_FILES['upload_file']['name'].'<br>'; 10 echo '上传文件大小:'.$_FILES['upload_file']['size'].'字节<br>'; 11 echo '临时文件名:'.$_FILES['upload_file']['tmp_name'].'<br>'; 12 } 13 ?>