1. 程式人生 > >tp5 整合阿里雲OSS圖片上傳

tp5 整合阿里雲OSS圖片上傳

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 一起討論