php上传多个文件
时间:2006-09-27 来源:softwindow
前面提到了上传单个文件的方法,上传多个文件的思想类似
1、在表单页面动态生成多个文件提交框,这里注意一下,多个文件提交框的名字要设置为数组,否则只有一个文件会上传。
此时在$_FILES数组构造方式是这样:$_FILES["files"][xxxxfileProperty][xxxcount]; 比如说我要知道第一个文件的error值:$_FILES["userfiles"]["error"][0] ,第一个文件客户端名字:$_FILES["userfiles"]["name"][0]等等。
2、接收端接收,操作和单个的是一样,只是需要做个循环,有多少个文件做多少次循环,以便所有的文件都能正确发送。
示例代码:
表单页面
文章标题: 标题不能为空!
淘吧名字:
";
}
echo "";
?>
处理页面
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
">
http://www.w3.org/1999/xhtml
">
提交
重新来过");
}
/*这里是数据查询语言取出要用的数据*/
if(in_array("0", $_FILES['userfile']['error'])){//上传文件开始
$uploaddir= 'attfile/';//设置上传的文件夹地址
$FILES_EXT=array('.gif','.jpg','.mp3','.3gp');//设置允许上传文件的类型
$MAX_SIZE = 20000000;//设置文件上传限制20000000byte=2M
for ($i=0;$i$MAX_SIZE){
echo "文件大小超程序允许范围!";
exit;
}
//检查文件类型
if(in_array($file_ext, $FILES_EXT)){
$_FILES['userfile']['name'][$i]=date("YmdHis").rand(10000,1000000).$file_ext;
//echo $_FILES['userfile']['name'][$i];
$uploadfile = $uploaddir.$_FILES['userfile']['name'][$i];//上传后文件的路径及文件名
//echo $uploadfile;
//用move函数生成临时文件名,并按照 $_FILES['userfile']['name']上传到$uploaddir下
if (move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $uploadfile)) {
//将上传后的路径写入到数据库中
$post_id=(int)$post_id;
$uploadfile="attfile/".$_FILES['userfile']['name'][$i];
$sql=插入语句
$stmt=$db->prepare($sql);
$stmt->execute();
print "
文件\n{$FILES_NAME}\n上传成功!";
} else {
print "上传错误! 以下是上传的信息:\n";
print_r($_FILES);
}
}
else{
echo "{$FILES_NAME}\n不是允许上传的文件类型!";
exit;
}
}
}
?>
相关阅读 更多 +