laravel5 5 封裝公共上傳類

2021-08-26 02:14:51 字數 2633 閱讀 9170

* 檔案上傳

* formdata方式,支援單圖、多圖上傳

* base64方式, 只支援單檔案上傳

* method: post

* action: upload

* param: 引數說明

* ①file_type 允許上傳的檔案字尾,string型別,用逗號隔開

* ②width 縮放寬度

* ③height 縮放高度

* ④dirname 儲存資料夾名稱,預設

* ⑤upload_type 上傳方式,預設formdata,可以是base64

**********************************/

class imgcontroller extends apicontroller

//根據傳參呼叫不同的上傳方式

switch ($this->upload_type)

return $data;

}/**

* formdata上傳方式

* @param $request

* @return array

*/private function formdata($request)else

if(!in_array($type,$file_type))

//驗證檔案大小

if($size > $this->upload_max_size)

//根據檔案型別上傳

if(in_array($type,$this->img_type))else

}return $path;

}/**

* @param $param

* @return array 返回位址及字尾

*/private function base64($param)else

if(!in_array($type,$file_type))

$img = str_replace($matches[1], '', $img);

$img = base64_decode($img);

$randname = 'base64';

//如果是存到資料夾中,否則存到檔案中,如果設定,則都存到設定的資料夾中

if(in_array($type,$this->img_type))else

$path = self::getuploadpath($randname,$type,$dirname);

file_put_contents($path, $img);

//如果是則可以生成縮圖

if($picture)

$ary['path'] = $path;

$ary['ext'] = $type;

return $ary;}}

/*** 上傳檔案

* @return 已上傳檔案相關資訊

*/private static function files($request,$dirname)

unset($info['file'], $info['realpath']);

return $info;

}/**

* 上傳

* $request 資訊

* $width 需要縮放寬度

* $height 需要縮放高度

* @return 已上傳相關資訊

**/private static function imgs($request,$width,$height,$dirname)

unset($info['file'], $info['realpath']);

return $info;

}/**

* 隨機的檔名

* @param int $len 隨機檔名的長度

* @return str 隨機字串

*/private static function randname($name)

/*** 建立檔案上傳檔案到的路徑

* @return str 檔案上傳的路徑

*/private static function createdir($dirname)

}/**

* 獲取上傳檔案的路徑

* @return str 檔案的全路徑

/*** 生成上傳檔案相關資訊

* @return 上傳檔案相關資訊

**/private static function getfileinfo($file, $dirname)

return ['code'=>301,'msg'=>'上傳失敗,請重試'];

}}

Laravel5 5 資料填充

php artisan make seeder momentstableseeder 進入 database seed 資料夾,進入新建的檔案,在 run 方法中新增 接著到 databaseseeder 在 run 方法中新增 this call momentstableseeder class ...

laravel5 5入口檔案分析

入口檔案 public index.php 1 載入composer的自動載入器 require dir vendor autoload.php 自動載入,不用再各種require了,更重要的是可以使用composer管理包,管理依賴,可以參考下composer的使用。註冊控制台核心,cli的請求處...

Laravel5 5之事件監聽 任務排程 佇列

流程 php artisan make listener emailadminuserlogin event userlogin 應用程式的事件 對映 class eventserviceprovider extends serviceprovider 生成事件 php artisan event ...