解決ThinkPHP表單多文件上傳時(shí)出現的不對(duì)應問題

Time:2014/08/05 23:19:21   Click:

ThinkPHP是一個了不起(qǐ)的框架,這(zhè)點不可置否,不過(guò)在用他的多文件上傳時(shí),卻出現了一些問題,什麼(me)問題呢?那就(jiù)是當一個表單裡(lǐ)有幾個不同名的文件上傳時(shí),當修改時(shí),如果其中一個不上傳,就(jiù)會(huì)亂,這(zhè)是很不好(hǎo)的,于是就(jiù)自己寫了一個方法,請往下看。

   isset($_POST['id']) ? $id = $_POST['id'] : $this->error('非法操作');
   $pic1 = M('article')->where(array('id'=>$id))->getField('pic1');//獲取原文件
   $pic2 = M('article')->where(array('id'=>$id))->getField('pic2');//獲取原文件
   $pic3 = M('article')->where(array('id'=>$id))->getField('pic3');//獲取原文件
   
   $info =  $upload->getUploadFileInfo();//獲取上傳信息集合
   
   foreach ($info as $key => $value) {
    switch ($value['key']) {
     case 'pic1':
      $pic1=$value['savename'];
      break;
     case 'pic2':
      $pic2=$value['savename'];
      break;
     case 'pic3':
      $pic3=$value['savename'];
      break;
    }
   }

現在來解釋一下,原理是通過(guò)獲取到的$info進(jìn)行$key值進(jìn)行循環對(duì)比。當$info裡(lǐ)有值與表單值一樣(yàng)時(shí),即進(jìn)行上傳,同時(shí),將(jiāng)原文件名進(jìn)行重寫,達到更新目的。這(zhè)樣(yàng)就(jiù)達到了當所有上傳文件沒(méi)有同時(shí)上傳時(shí),不出現上傳對(duì)應問題,希望對(duì)大家有用,如有疑問,歡迎聯系我們。

TOP

錦江區聚格樂享網絡工作室@2012 版權所有
蜀ICP備12016524号-2

立即咨詢
成(chéng)都(dōu)網站建設,成(chéng)都(dōu)做網站,錦江區聚格樂享網絡工作室
40f13d50b73e104f832ed1b719ae6935