最近在写上传功能时,要求有多文件上传功能。所以,将自己写的方法写出来,供自己或者有需要的朋友参考。

       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"   onclick="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="删除此行"   onclick="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 ('上传图片失败!');          
        }     
    }   
希望能帮到你。

版权声明:若无特殊注明,本文皆为( yueshuo )原创,转载请保留文章出处。