文件提交
form表单提交文件加一个属性:enctype="multipart/form-date"
PHP页面用FILES接收,接收到的是一个数组
name 文件名
type 文件类型
tmp_name 文件路径
error 文件上传出错会有内容
size 文件大小(单位B)
1.控制上传文件的类型
2.控制上传文件的大小
3.防止文件名重复
修改文件名
1.用户名+时间戳+随机数+文件名
2.流水号
使用文件夹
4.保存文件
首先判断文件上传是否出错
if($_FILES["file"]["error"]) { echo $_FILES["file"]["error"]; }
然后控制文件上传的类型、大小...
else { //控制上传文件的类型,大小 if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000) { //找到文件存放的位置 $filename = "./file/".date("YmdHis").$_FILES["file"]["name"]; //转换编码格式 $filename = iconv("UTF-8","gb2312",$filename); //判断文件是否存在 if(file_exists($filename)) { echo "该文件已存在!"; } else { //保存文件 move_uploaded_file($_FILES["file"]["tmp_name"],$filename); } } else { echo "文件类型不正确!"; } }
通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:
- $_FILES["file"]["name"] - 上传文件的名称
- $_FILES["file"]["type"] - 上传文件的类型
- $_FILES["file"]["size"] - 上传文件的大小,以字节计
- $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
- $_FILES["file"]["error"] - 由文件上传导致的错误代码
这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关允许哪些用户上传文件的限制。