亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

封裝ThinkPHP的一個文件上傳方法實例

2024-05-04 23:26:35
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了封裝ThinkPHP的一個文件上傳方法,以實例的形式詳細講述了文件上傳類的實現以及具體功能講解,非常實用,需要的朋友可以參考下
 
 

本文實例講述了封裝ThinkPHP的一個文件上傳方法,分享給大家供大家參考。具體如下:

這陣子,對WBlog的上傳功能作了優化。改進后的上傳功能可以實現縮略圖上傳,圖片上傳,生成水印,文件上傳,并且可以在后臺對上傳的附件進行大小(文件大?。?,類型(文件類型),水?。ㄡ槍D片)的進行設置。此外還可以對上傳的文件進行分類保存到相應的文件夾里,方便管理。

下面是對改進后的上傳功能作簡約的說明。

縮略圖上傳

先前的縮略圖上傳功能使用了KindEditor的上傳組件,除非上傳之前對圖片進行縮略處理,不然上傳的是原圖,改進后的上傳功能可以通過系統對縮略圖的大小進行設置,不管你上傳的原圖有多大,都會生成設置的大小的圖片,并且自動刪除原圖,有效地減少垃圾信息的累積。上傳的縮略圖自動保存到Thumb文件夾

圖片上傳

上傳圖片,可以根據需要設置圖片的大小、上傳圖片的類型和添加水印。

文件上傳

如壓縮文件,文檔文件等,可根據需要添加上傳文件類型和大小。

添加水印

對上傳的圖片添加水印。

上面的上傳功能我把它封裝在模型類AttachModel.class.php里,用兩個方法搞定:

 

復制代碼代碼如下:

/**      
    * 附件上傳:上傳圖片,縮略圖,文件      
    * @param string $model 上傳所在模塊      
    * @param bool $type 上傳文件的類型::image(圖片);thumb(縮略圖);file(文件)      
    */
             
public function upload($model = null, $type = 'image'){      
       //導入上傳類      
       import('ORG.NET.UploadFile');      
       $upload = new UploadFile();      
       $upload->saveRule = 'uniqid'; //設置上傳文件規則      
       $upload->maxSize = C('MAXSIZE')*1024*1024;   //上傳文件大小          
       $upload->allowExts = explode(',', C('ALLOWEXTS'));//文件類型      
                
       if ($model){      
           $upload->savePath = './Public/Uploads/'.$model.'/';      
           if (!file_exists($upload->savePath)) {      
             mkdir($upload->savePath);      
           }      
       }else{      
           $upload->savePath = './Public/Uploads/Thumb/';      
           if (!file_exists($upload->savePath)) {      
             mkdir($upload->savePath);      
           }      
       }      
       if (in_array($type,array('image','thumb'))){      
           $upload->thumb = true;      
           $upload->thumbRemoveOrigin  = true;// //刪除原圖      
           $upload->thumbPrefix = 'wb_';          
           $upload->thumbMaxWidth = $type=='thumb' ? C('THUMB_W') :C('IMAGE_W');//縮略圖寬度     
           $upload->thumbMaxHeight = $type=='thumb' ? C('THUMB_H') :C('IMAGE_H');//縮略圖高度          
                            
       }      
       if (!$upload->upload()) {      
           return $upload->getErrorMsg();      
       }else{      
           $uploadlist = $upload->getUploadFileInfo();      
           if(C('ISWATER') && $type=='image'){      
             import('ORG.Util.Image');      
             //給m_縮略圖添加水印, Image::water('原文件名','水印圖片地址')      
             foreach ($uploadlist as $key => $value){      
               Image::water($value['savepath'] . 'wb_' . $value['savename'], './Public/admin/images/water.png');      
            }      
           }      
       }      
       if (in_array($type,array('image','file'))){      
           return $this->_add($uploadlist,$model);      
       }else{      
           return $uploadlist[0]['savename'];//返回縮略圖保存名稱      
       }             
   }      
   /*      
    * 上傳的附件整合成attach所需數據,存入表并返回數組      
    * */
   private function _add($uploadlist,$module=''){      
       //$j = count($uploadlist);      
       $v = array();      
       foreach ($uploadlist as $key => $value){      
                    
           $v[$key]['name']        =   $value['name'];      
           $v[$key]['savename']    =   $value['savename'];      
           $v[$key]['savepath']    =   substr($value['savepath'], 2);      
           $v[$key]['size']        =   $value['size'];      
           $v[$key]['userId']      =   $_SESSION[C('USER_AUTH_KEY')];      
           $v[$key]['uploadTime']  =   time();      
           $v[$key]['alt']                 =   $_POST['alt'][$key];      
           $v[$key]['module']          =   $_POST['module'];//當前項目路徑       
           $v[$key]['recordId']    =   $_POST['recordId'];//當前項目路徑       
           $this->add($v[$key]);      
           if($this->thumb){      
                        
               $v[$key]['prefix']      =   $this->thumbPrefix;                    
           }      
           $v[$key]['id'] = M('Attach')->getLastInsID();                  
       }      
       return $v;      
}

 

希望本文所述對大家的ThinkPHP框架程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产欧美激情| 日韩免费av片在线观看| 国产在线拍偷自揄拍精品| 日韩精品福利在线| 日韩欧美一区视频| 亚洲日本欧美日韩高观看| 亚洲女人天堂网| 最近2019年日本中文免费字幕| 欧美在线视频播放| 日韩欧美一区二区三区久久| 亚洲第一网中文字幕| 欧美成人h版在线观看| 午夜美女久久久久爽久久| 一区二区日韩精品| 久久精品亚洲热| 911国产网站尤物在线观看| 成人国产亚洲精品a区天堂华泰| 亚洲欧洲中文天堂| 国产成人精品一区二区| 久久久久久999| 亚洲精品日韩久久久| 国产精品一区二区在线| 亚洲视频综合网| 亚洲午夜久久久影院| 日韩国产高清视频在线| 国产人妖伪娘一区91| 色阁综合伊人av| 日本成人在线视频网址| 久久天堂电影网| 九九久久精品一区| 亚洲国产91精品在线观看| 国产做受69高潮| 欧美大片免费观看| 自拍亚洲一区欧美另类| 成人激情视频在线播放| www.亚洲人.com| 亚洲区免费影片| 精品久久久一区| 精品久久久视频| 日韩在线中文字幕| 亚洲伊人久久大香线蕉av| 亚洲欧美日韩第一区| 精品久久久久人成| 国产日韩欧美在线观看| 日韩电影中文字幕一区| 欧美视频中文字幕在线| 国产精品美女免费| 欧美丝袜一区二区三区| 国产91成人video| 久久久久www| 91精品国产网站| 欧美老肥婆性猛交视频| 欧美亚洲另类在线| 日韩经典中文字幕在线观看| 亚洲精品一区在线观看香蕉| 欧美黑人性猛交| 亚洲国产97在线精品一区| 日韩免费观看av| 午夜精品一区二区三区在线播放| 日韩欧美在线视频日韩欧美在线视频| 亚洲欧美成人在线| 91久久久久久久| 理论片在线不卡免费观看| 奇米四色中文综合久久| 插插插亚洲综合网| 77777亚洲午夜久久多人| 欧美在线亚洲在线| 日本高清+成人网在线观看| 国产亚洲一区二区在线| 久久久999精品免费| 中文字幕综合在线| 国产在线观看91精品一区| 日韩毛片在线观看| 国产成人久久久精品一区| 精品免费在线视频| 国产精品video| 久久精品一区中文字幕| 97在线免费观看视频| 欧美中在线观看| 91av在线不卡| 亚洲va国产va天堂va久久| 91亚洲精品一区二区| 欧美成人激情图片网| 欧美日韩国产一区二区| 色偷偷91综合久久噜噜| 国产精品久久视频| 亚洲老司机av| 中文字幕久久久av一区| xxav国产精品美女主播| 久久精品一偷一偷国产| 国产亚洲欧洲在线| 日韩精品福利在线| 国产欧美亚洲视频| 欧美激情免费在线| 国产综合视频在线观看| 欧美裸身视频免费观看| 欧美激情久久久久久| x99av成人免费| 中文字幕亚洲综合久久筱田步美| 亚洲欧美日韩一区二区在线| 亚洲性线免费观看视频成熟| 国产精品美乳在线观看| 国产成人欧美在线观看| 国产视频一区在线| 亚洲欧美色婷婷| 亚洲r级在线观看| 两个人的视频www国产精品| 日韩视频免费观看| 亚洲国产精品va在线看黑人动漫| 色偷偷噜噜噜亚洲男人的天堂| 日韩精品中文字幕在线| 成人在线小视频| 国产噜噜噜噜久久久久久久久| 日韩国产在线播放| 国产成人久久久| 川上优av一区二区线观看| 国产精品视频不卡| 性色av一区二区三区免费| 日韩精品在线观看视频| 久久夜色精品国产| 国产精品入口福利| 色噜噜狠狠狠综合曰曰曰88av| 国产精品久久久久久久久借妻| 精品久久久久久亚洲精品| 欧美尺度大的性做爰视频| 久久精品成人一区二区三区| 欧美黑人性视频| 日韩av大片在线| 亚洲欧美日韩直播| 超碰91人人草人人干| 国产精品美乳一区二区免费| 欧美一级淫片aaaaaaa视频| 亚洲人成网站999久久久综合| 久久成人免费视频| 久久精视频免费在线久久完整在线看| 久久精品久久久久电影| www亚洲精品| 国产亚洲精品久久久久动| 亚洲美腿欧美激情另类| 在线成人中文字幕| 欧亚精品中文字幕| 亚洲男人第一网站| 久久精品小视频| 亚洲福利精品在线| 欧美中文在线观看| 亚洲 日韩 国产第一| 久久综合色影院| 91po在线观看91精品国产性色| 亚洲国产精品女人久久久| 奇米4444一区二区三区| 精品国产视频在线| 视频直播国产精品| 日韩欧美国产黄色| 日本一区二区不卡| 国产精品中文字幕在线观看| 亚洲www在线| 福利视频第一区| 日韩电影大全免费观看2023年上| 国产午夜精品视频| xvideos国产精品| 国产精品视频网站| 成人中文字幕在线观看| 久久久精品视频在线观看| 欧美一区二区三区四区在线|