thinkphp5上傳圖片及生成縮略圖公共方法(分享)
直接上代碼,可以寫在公共文件common和繼承的基礎(chǔ)類中,方便調(diào)用
/*
* $name為表單上傳的name值
* $filePath為為保存在入口文件夾public下面uploads/下面的文件夾名稱,沒有的話會(huì)自動(dòng)創(chuàng)建
* $width指定縮略寬度
* $height指定縮略高度
* 自動(dòng)生成的縮略圖保存在$filePath文件夾下面的thumb文件夾里,自動(dòng)創(chuàng)建
* @return array 一個(gè)是圖片路徑,一個(gè)是縮略圖路徑,如下:
* 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{
// 上傳失敗獲取錯(cuò)誤信息
return $file->getError();
}
}
}
以上這篇thinkphp5上傳圖片及生成縮略圖公共方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
thinkphp視圖模型查詢提示ERR: 1146:Table ''db.pr_order_view'' doesn''
這篇文章主要介紹了thinkphp視圖模型查詢提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解決方法,對(duì)于ThinkPHP初學(xué)者來說有一定的借鑒價(jià)值,需要的朋友可以參考下2014-10-10
ThinkPHP結(jié)合ajax、Mysql實(shí)現(xiàn)的客戶端通信功能代碼示例
這篇文章主要介紹了ThinkPHP結(jié)合ajax、Mysql實(shí)現(xiàn)的客戶端通信功能,需要的朋友可以參考下2014-06-06
CI框架實(shí)現(xiàn)遞歸生成文件路徑并重新生成圖片功能
這篇文章主要介紹了CI框架實(shí)現(xiàn)遞歸生成文件路徑并重新生成圖片功能,涉及CodeIgniter框架自定義圖片控制器類實(shí)現(xiàn)文件目錄遞歸以及調(diào)用圖片處理擴(kuò)展類進(jìn)行圖片生成相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
CodeIgniter針對(duì)lighttpd服務(wù)器URL重寫的方法
這篇文章主要介紹了CodeIgniter針對(duì)lighttpd服務(wù)器URL重寫的方法,涉及l(fā)ighttpd服務(wù)器配置及URL配置規(guī)則的相關(guān)技巧,需要的朋友可以參考下2015-06-06
Laravel5.1 框架模型工廠ModelFactory用法實(shí)例分析
這篇文章主要介紹了Laravel5.1 框架模型工廠ModelFactory用法,結(jié)合實(shí)例形式分析了laravel5.1框架模型工廠ModelFactory基本功能、定義與使用方法,需要的朋友可以參考下2020-01-01
php切割頁面div內(nèi)容的實(shí)現(xiàn)代碼分享
今天在百度知道看到一個(gè)關(guān)于php獲取DIV內(nèi)容的問題,做了一晚,終于是做出來了2012-07-07
使用PHP和HTML5 FormData實(shí)現(xiàn)無刷新文件上傳教程
這篇文章主要介紹了使用PHP和HTML5 FormData實(shí)現(xiàn)無刷新文件上傳教程,本文先是分解了程序的編寫步驟,最后給出一個(gè)完整示例,需要的朋友可以參考下2014-09-09
PHP session文件獨(dú)占鎖引起阻塞問題解決方法
這篇文章主要介紹了PHP session文件獨(dú)占鎖引起阻塞,本文講解PHP使用默認(rèn)文件會(huì)話處理器時(shí)容易導(dǎo)致的阻塞問題解決方法,需要的朋友可以參考下2015-05-05

