1. 程式人生 > >tp5呼叫阿里雲oss上傳檔案

tp5呼叫阿里雲oss上傳檔案

推薦使用composer方式

composer方式安裝SDK的步驟如下:

  1. 在專案的根目錄執行composer require aliyuncs/oss-sdk-php,或者在composer.json檔案中新增依賴關係如下:

    1. "require": {
    2. "aliyuncs/oss-sdk-php": "~2.x.x"
    3. }
  2. 執行composer install,安裝依賴。安裝完成後,目錄結構如下:

    1. .
    2. ├── app.php
    3. ├── composer.json
    4. ├── composer.lock
    5. └── vendor

    其中index.php是您的應用程式,vendor/

    目錄下包含了所依賴的庫。您需要在app.php中新增依賴關係如下:

    1. require_once __DIR__ . '/vendor/autoload.php';

後臺程式碼:

/*
author:咔咔
wechat:fangkangfk
address:陝西西安
*/


<?php
namespace app\miniapp\controller\upload;

use app\miniapp\controller\Common;
use think\Image;
use think\Controller;
use think\Request;

/**/
use OSS\OssClient;
use OSS\Core\OssException;


class Upload extends Common
{
    public function index(){
        $scr = $_FILES['file']['tmp_name'];
        $ext = substr($_FILES['file']['name'],strrpos($_FILES['file']['name'],'.')+1); // 上傳檔案字尾
        $dst = md5(time()).'-'.$scr.'.'.$ext;     //上傳檔名稱
        // $this->load->library('AliUpload');
        $url = $this->upload($dst,$scr);
        $data = array('url' =>$url);
    }

    public function upload($dst,$src){
            $accessKeyId = "ID";
            $accessKeySecret = "祕鑰";
            // Endpoint以杭州為例,其它Region請按實際情況填寫。
            $endpoint = "節點";
        $bucket = '儲存空間名';

        @error_reporting (E_ALL & ~E_NOTICE & ~E_WARNING);

        //獲取物件
        $auth = new OssClient($accessKeyId,$accessKeySecret,$endpoint);
        try {
            //上傳圖片
            $result  = $auth->uploadFile($bucket,$dst,$src);
            dump($result);die;
            return $result['info']['url'];
        } catch (OssException $e) {
            return $e->getMessage();
        }
    }
}

上傳成功後會返回:info.url就是訪問地址