tp5 整合阿里雲OSS圖片上傳
阿新 • • 發佈:2019-01-05
1.下載一個阿里雲oss的sdk 也可以到阿里雲 的OSS儲存裡面去下載
composer require aliyuncs/oss-sdk-php
2-去官方找些配置,在application同級目錄的config目錄裡面新建一個alioss.php的檔案,講配置資訊放進去向下面這樣
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/8/3 * Time: 11:25 */ // +---------------------------------------------------------------------- // | 阿里雲OSS配置 // +---------------------------------------------------------------------- return [ 'KeyId' => '', //Access Key ID 'KeySecret' => '', //Access Key Secret 'Endpoint' => '', //阿里雲oss 外網地址endpoint 'Bucket' => '', //Bucket名稱 ];
3-控制器
public function uploadFile() { $file = request()->file('file'); //獲取到上傳的檔案 print_r($this->uploadFileVideo($file)); } public function ossUploadFile($file) { if ('' == $file) return '引數為空'; $resResult = Image::open($file); // 嘗試執行 try { $config = Config::pull('alioss'); //獲取Oss的配置 //例項化物件 將配置傳入 $ossClient = new OssClient($config['KeyId'], $config['KeySecret'], $config['Endpoint']); //這裡是有sha1加密 生成檔名 之後連線上字尾 $fileName = 'img/' . sha1(date('YmdHis', time()) . uniqid()) . '.' . $resResult->type(); //執行阿里雲上傳 $result = $ossClient->uploadFile($config['Bucket'], $fileName, $file->getInfo()['tmp_name']); /** * 這個只是為了展示 * 可以刪除或者保留下做後面的操作 */ $arr = [ //圖片地址 'imgurl' => $result['info']['url'], //資料庫儲存名稱 'dbimgName' => $fileName ]; } catch (OssException $e) { return $e->getMessage(); } //將結果輸出 return $arr; }
如整合期間有遇到什麼問題 可以加群 858507220 一起討論