TP框架上傳圖片至阿里雲oss


首先安裝阿里雲oss擴展:

composer require aliyuncs/oss-sdk-php

如果這個安裝不上可以直接下載SDK的包:

鏈接:https://pan.baidu.com/s/1QD0O2e55CHylGQjoWHXEJQ 
提取碼:q4m6

下載解壓后重命名為aliyun-oss放到extend目錄下然后

在你的config文件中加入以下配置:

return [
    'KeyId'      => '',  //Access Key ID
    'KeySecret'  => '',  //Access Key Secret
    'Endpoint'   => '',  //阿里雲oss 外網地址endpoint
    'Bucket'     => '',  //Bucket名稱
];

接下來就是上傳的方法了:記得在控制器中引用哦:

use OSS\OssClient;
use OSS\Core\OssException;

上代碼:

public function uploadFile()
    {
        $file= request()->file('icon');
        $resResult = Image::open($file);
        $type = $resResult->type();
        // 嘗試執行
        try {
            $accessKeyId = config('aliyun_oss.accessKeyId');//去阿里雲后台獲取秘鑰
            $accessKeySecret = config('aliyun_oss.accessKeySecret');//去阿里雲后台獲取秘鑰
            $endpoint = config('aliyun_oss.endpoint');//你的阿里雲OSS地址
            $bucket = config('aliyun_oss.bucket');//你的阿里雲OSS地址
            //實例化對象 將配置傳入
            $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
            //這里是有sha1加密 生成文件名 之后連接上后綴
            $fileName = sha1(date('YmdHis', time()) . uniqid()) . '.' . $type;
           //上傳至阿里雲的目錄 為年+月/日的格式
            $pathName = date('Y-m/d') . '/' .$fileName;
            //執行阿里雲上傳 bucket名稱,上傳的目錄,文件
            $result = $ossClient->uploadFile($bucket, $pathName, $file->getInfo()['tmp_name']); 
        } catch (OssException $e) {
            return $e->getMessage();
        }
        //將結果輸出
        return $result['info']['url'];
    }           

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM