thinkphp5上傳圖片及產生縮圖公用方法

來源:互聯網
上載者:User
下面小編就為大家分享一篇thinkphp5上傳圖片及產生縮圖公用方法,具有很好的參考價值,希望對大家有所協助。一起跟隨小編過來看看吧

直接上代碼,可以寫在公用檔案common和繼承的基礎類中,方便調用

/*   * $name為表單上傳的name值   * $filePath為為儲存在入口檔案夾public下面uploads/下面的檔案夾名稱,沒有的話會自動建立   * $width指定縮減寬度   * $height指定縮減高度   * 自動產生的縮圖儲存在$filePath檔案夾下面的thumb檔案夾裡,自動建立   * @return array 一個是圖片路徑,一個是縮圖路徑,如下:   * array(2) {     ["img"] => string(57) "uploads/img/20171211\3d4ca4098a8fb0f90e5f53fd7cd71535.jpg"     ["thumb_img"] => string(63) "uploads/img/thumb/20171211/3d4ca4098a8fb0f90e5f53fd7cd71535.jpg"    }   */  protected function uploadFile($name,$filePath,$width,$height)  {    $file = request()->file($name);    if($file){      $filePaths = ROOT_PATH . 'public' . DS . 'uploads' . DS .$filePath;      if(!file_exists($filePaths)){        mkdir($filePaths,0777,true);      }      $info = $file->move($filePaths);      if($info){        $imgpath = 'uploads/'.$filePath.'/'.$info->getSaveName();        $image = \think\Image::open($imgpath);        $date_path = 'uploads/'.$filePath.'/thumb/'.date('Ymd');        if(!file_exists($date_path)){          mkdir($date_path,0777,true);        }        $thumb_path = $date_path.'/'.$info->getFilename();        $image->thumb($width, $height)->save($thumb_path);        $data['img'] = $imgpath;        $data['thumb_img'] = $thumb_path;        return $data;      }else{        // 上傳失敗擷取錯誤資訊        return $file->getError();      }    }  }

以上這篇thinkphp5上傳圖片及產生縮圖公用方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援php中文網。

您可能感興趣的文章:

小程式之支付後調用SDK的非同步通知及驗證處理訂單方法的詳解

PHP 使用Echarts產生資料統計報表的實現

PHP根據手機號判斷電訊廠商

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.