最近在写上传功能时,要求有多文件上传功能。所以,将自己写的方法写出来,供自己或者有需要的朋友参考。
html部分:index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> 动态增加文件上传域</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<form action="__URL__/upload" method="post" align="center" enctype="multipart/form-data"> <!--enctype="multipart/form-data" 不要忘记加上这个-->
<input type="button" οnclick="addline()" value="增加一行">
<table border="0" id="test">
<tr>
<td colspan="2"><input type="file" name="photoname"></td>
</tr>
</table>
<input type="submit">
</form>
<script>
function addline(content){
newline=document.all.test.insertRow();
newline.insertCell().innerHTML='<input type="file" name="photoname"><input type="button" value="删除此行" οnclick="del()">'
}
function del(){
document.all.test.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex);
}
</script>
</body>
</html>
上传方法部分:IndexAction.class.php
public function upload(){
import( "ORG.Net.UploadFile" );
$upload = new UploadFile(); //设置上传文件大小
$upload->maxSize = 3292200 ; //设置上传文件类型
$upload->allowExts = explode(',','jpg,gif,png,jpeg'); //设置附件上传目录
$upload->savePath ='./Public/uploads/'; //设置需要生成缩略图,仅对图像文件有效
$upload->thumb = true; //设置需要生成缩略图的文件后缀
$upload->thumbPrefix = ''; //设置缩略图最大宽度
$upload->thumbMaxWidth = '473'; //设置缩略图最大高度
$upload->thumbMaxHeight = '691'; //设置上传文件规则
$upload->saveRule = uniqid; //删除原图 //
$upload->thumbRemoveOrigin = false;
if(!$upload->upload()) { //捕获上传异常
$this->error($upload->getErrorMsg());
}else {
$modelss = M('post');
$pname=$_POST['pname'];
$datas=$modelss->field("id")->where("pname='{$pname}'")->find();
$model = D('mhxs');
$file=$_FILES["photoname"]["name"];
for($i=0;$i<count($_FILES["photoname"]["name"]);$i++) {
$uploadList = $upload->getUploadFileInfo();
$arr[] =$uploadList[$i]['savename'];
$data['photoname']= $arr[$i];
$data['ptime'] = time();
$list=$model->add ($data);
}
}
if($list!==false){
$this->success ('上传图片成功!');
}else{
$this->error ('上传图片失败!');
}
}
希望能帮到你。