表单处理
表单(form):表单用于收集用户输入信息,并将数据提交给服务器。是一种常见的与服务端数据交互的一种方式
1. action:指定表单的提交地址
2. method:指定表单的提交方式,get/post,默认get
3. input的数据想要提交到后台,必须指定name属性,后台通过name属性获取值
4. 想要提交表单,不能使用input:button 必须使用input:submit
php获取表单数据
$_GET是PHP系统提供的一个超全局变量,是一个数组,里面存放了表单通过get方式提交的数据。
$_POST是PHP系统提供的一个超全局变量,是一个数组,里面存放了表单通过post方式提交的数据。
get与post的区别
1. get方式
1.1 数据会拼接在url地址的后面?username=hcc&password=123456
1.2 地址栏有长度限制,因此get方式提交数据大小不会超过4k
2. post方式
2.1 数据不会在url中显示,相比get方式,post更安全
2.2 提交的数据没有大小限制
根据HTTP规范,GET用于信息获取,POST表示可能修改变服务器上的资源的请求
文件上传
html要求
1. 文件上传的提交方式必须是post方式
2. 需要给form指定enctype="multipart/form-data"
3. 指定name属性,后台才能获取到
php相关
-
文件上传时,通过
$_FILES才能获取到,这是一个二维数组。array (size=1) 'myfile' => array (size=5) 'name' => string 'IMG_20130614_17445.jpg' (length=22) //文件名 'type' => string 'image/jpeg' (length=10) //文件类型 'tmp_name' => string 'C:\wamp\tmp\php40F4.tmp' (length=23) //文件保存临时位置 'error' => int 0 //错误码 (0表示没有错误) 'size' => int 103350 //文件大小(字节)
-
上传文件时,文件会临时保存在服务器上,如果文件最终没有保存,那么临时文件会被删除,保证服务器安全。
-
sleep(10)可以让代码延迟10秒钟才执行。 -
move_uploaded_file($path, $newPath);可以保存临时图片
// 服务器保存图片的思路:
// 1-判断 文件不为空 并且 上传文件没有出现错误 的情况下进行保存
// 2-获取临时文件文件路径
// 3-随机生成一个文件名
// 4-进行保存
//error==0 表示文件上传成功
if( !empty($_FILES['myfile']) && $_FILES['myfile']['error']==0 ){
//获取临时文件名
$ftmp=$_FILES['myfile']['tmp_name'];
//文件名字随机生成,但是后缀名不能改变
//1-获取文件原来的后缀名拓展名
$fname=$_FILES['myfile']['name']; //aa.png
//2-截取后缀名
$ext=explode('.',$fname);
//3-生成新的文件名
$newName=time().rand(1000,9999).$ext;
//4-保存文件
move_uploaded_file($ftmp,'./upload/'.$newName);
}