加载中…
正文 字体大小:

ThinkPHP 多文件上传

(2013-08-30 16:24:42)
标签:

thinkphp

多文件上传

分类: thinkPHP

Html页面

图片一:  name="img"

图片二:  name="photo"

Action页面

public function doAdd(){
     $obj=M('Product');

     import("ORG.Net.UploadFile");
     $upload=new UploadFile();
     $upload->savePath='./Public/upload/';              //上传图片保存的路径
     $upload->maxSize='2097152';                             //以字节为单位,即2M
     $upload->saveRule='uniqid';                              //上传文件的命名规则
     $upload->uploadReplace=true;                           //存在同名文件是否覆盖
     $upload->allowExts=array('jpg','jpeg','png','gif');    //允许上传的文件后缀

     //检测mime类型
     $upload->allowTypes=array('image/png','image/jpg','image/pjpeg','image/gif','image/jpeg');  

     $upload->thumb=true;                                   //是否生成缩略图
     $upload->thumbMaxWidth='40,114,740';                       //生成缩略图的最大宽度
     $upload->thumbMaxHeight='40,89,240';                      //生成缩略图的最大高度
     $upload->thumbPrefix='s_,m_,b_';                          //生成缩略图的前缀
     $upload->thumbRemoveOrigin=true;        //生成缩略图后是否删除原图

 

     if ($upload->upload ()) {
         $fileinfo = $upload->getUploadFileInfo();
         $img = $_FILES['img']['name'];
         $photo = $_FILES['photo']['name'];

         //如果用户只使用了第一个上传框
         if (!empty($img) && empty($photo)) {
             $data['img'] = $fileinfo[0]['savename'];
         //如果用户只使用了第二个上传框
         } elseif (empty($img) && !empty($photo)) {
             $data['photo'] = $fileinfo[0]['savename'];
         //如果用户两个都使用了        

         } elseif (!empty($img) && !empty($photo)) {
             $data['img'] = $fileinfo[0]['savename'];
             $data['photo'] = $fileinfo[1]['savename'];
         }
     }

     //dump($data);
     if($obj->create()){
        if($obj->add($data)){
            $this->success('','__URL__/product_add');
        }else {
          $this->error();
        }
     }else {
       $this->error($obj->getError());
     }
 }

 

PS:期待有更好的解决办法。。。

0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有