解决ThinkPHP表单多文件上传时出现的不对应问题

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

ThinkPHP是一个了不起的框架,这点不可置否,不过在用他的多文件上传时,却出现了一些问题,什么问题呢?那就是当一个表单里有几个不同名的文件上传时,当修改时,如果其中一个不上传,就会乱,这是很不好的,于是就自己写了一个方法,请往下看。

   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;
    }
   }

现在来解释一下,原理是通过获取到的$info进行$key值进行循环对比。当$info里有值与表单值一样时,即进行上传,同时,将原文件名进行重写,达到更新目的。这样就达到了当所有上传文件没有同时上传时,不出现上传对应问题,希望对大家有用,如有疑问,欢迎联系我们。

TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

成都网站建设 成都网站建设,成都做网站,四川尚狐网络