PHP上传多文件

知识点:

一、$_FILES数组

①、$_FILES['filename']['name']上传文件原名

②、$_FILES['filename']['tmp_name']上传成功后的缓存文件名

③、$_FILES['filename']['size']上传文件大小

④、$_FILES['filename']['type']上传文件的MIME类型,最好在页面显示验证

⑤、$_FILES['filename']['error']上传返回的信息,共有五个:

0:成功,

1:超出上传文件的大小(php限定上传文件的函数upload_max_filesize(),建议使用php本身的这个函数来限制文件上传的大小),

2:超出上传文件的大小,

3:文件未上传,或者上传过程中中断

4:没有指定上传文件就提交表单

6:临时目录不存在

7:文件无法写入磁盘(PHP5新增)

8:PHP配置问题导致上传失败(PHP5新增)

二、函数:

①、is_upload_file():上传文件是否使用post方法上传,参数:上传的缓存文件

②、move_upload_file():将上传的缓存数据移动到其他文件夹下进行保存,参数1:上传的缓存文件,参数2:存放文件的地址+文件名(包含后缀名)

html代码:

 

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form action="in.php"  enctype="multipart/form-data" method="post">
<input type="file"  multiple="multiple" name="file[]"><br>
<button type="submit">提交</button>
</form>
</body>
</html>

php代码:

header("Content-type:text/html;charset=utf-8");
for($i=0;$i<count($_FILES['file']['name']);$i++){
	
	$filename = iconv("UTF-8", "GBK", $_FILES['file']['name'][$i]);
	if(is_uploaded_file($_FILES['file']['tmp_name'][$i])){
		$uploads = move_uploaded_file($_FILES['file']['tmp_name'][$i],"D:\Documents\uploads/".$filename);
		if($uploads){
			
			echo $i;
			
		}	
	}
}

 

posted @ 2017-06-12 14:58  程昱仲德  阅读(208)  评论(0编辑  收藏  举报