本篇文章給大家帶來的內容是關於tp5實現上傳圖片的方法代碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。
tp5批量上傳圖片實際上非常簡單,核心原理是通過foreach迴圈單張圖片上傳,達到批量上傳的目的,其本質還是單個逐一上傳。我們在做下載站項目的時候做了系統配置這樣的功能,這個功能是可以同時上傳多張圖片的,比如網站logo、二維碼等等。
批量上傳的核心處理代碼如下:
public function conflist(){ if(request()->isPost()){ $data=input('post.'); $dataFile=$_FILES; foreach ($dataFile as $k => $v) { if($v['name']!=""){ $data[$k]=$this->upload($k); } } foreach ($data as $k => $v) { db('config')->where(array('ename'=>$k))->update(['value'=>$v]); } $this->success('修改配置成功!'); return; } $confRes=db('config')->select(); $this->assign([ 'confRes'=>$confRes, ]); return view(); }
以上是邏輯,迴圈的時候用到的upload函數如下:
public function upload($imgName){ // 擷取表單上傳檔案 例如上傳了001.jpg $file = request()->file($imgName); // 移動到架構應用根目錄/public/uploads/ 目錄下 $info = $file->move(ROOT_PATH . 'public' . DS . 'static/index/uploads'); if($info){ // 成功上傳後 擷取上傳資訊 // 輸出 20160820/42a79759f284b767dfcb2a0197904287.jpg return $info->getSaveName(); }else{ // 上傳失敗擷取錯誤資訊 return ''; }