接收到浏览器中提交的表单后数据会保存到预定义的超全局变量数组中,GET方式保存到$_GET数组中,POST发送到$_POST数组中
通过POST传送来介绍:
(1)查看所有来自表单提交的数据通过var_dump()函数打印数组
var_dump($_POST);
(2)通过empty()判断是否有表单通过POST方式提交
//判断$_POST是否为空数组
if(empty($_POST)){
//是空数组,说明没有表单提交
}else{
//数组非空,说明有表单提交
}
(3)当获取“name”字段的值时,直接访问数的成员
echo $_POST['name'];
(4)当判断接收数据中是否存在“name”时,可以使用isset()函数判断
if(!isset($_POST['name'])){
//么有收到name;
}
(5)当判断表单中“name”是否填写
if(empty($_POST['name'])){
//没有收到name,或name的值为空
}
PHP中的超全局变量
变量名 | 功能描述 |
$_GET | 获取由HTTP GET方式提交至PHP脚本的变量 |
$_POST | 获取由HTTP POST方式提交至PHP脚本的变量 |
$_FILES | 获取由HTTP POST文件上传方式提交至PHP脚本的变量 |
$_SERVER | 获取当前服务器的信息,以及HTTP的请求信息 |
$_COOKIE | 获取由HTTP 提交至PHP脚本的Cookie信息 |
$_SESSION | 获取或设置用户的会话信息 |
$_REQUEST | 获取由GET、POST和COOKIE方式提交至PHP脚本的变量 |
文件上传表单
通过表单实现文件上传,将提交方式设置为POST提交,enctype属性的值设置为“multipart/form-data”
默认情况下enctype的编码格式为“application/x-www-form-urlencoded”表示将表单进行URL编码,这种格式不能用于文件上传
<form method="post" enctype="multipart/form-data">
<input type="file" name="upload">
<input type="submit" value="上传">
</form>
默认情况下是只能实现单个文件上传,当需要多个文件上传,可以编写多个标签或者为一个标签添加multiple属性
PHP默认将表单上传的文件保存在服务器系统的临时目录中,临时文件的保存周期为PHP脚本执行期间。处理上传文件使用sleep(seconds)函数来延迟PHP文件执行时间;可以在系统临时目录“C:\Windows\Temp”中查看临时文件。
当PHP执行完毕后,方框内临时文件会被释放,在释放之前在脚本中可以使用超全局变量$_FILE来获取上传文件的信息,通过“move_uploaded_file()”函数可以将临时文件保存到指定位置。