tp5呼叫阿里雲oss上傳檔案
阿新 • • 發佈:2018-12-14
推薦使用composer方式
composer方式安裝SDK的步驟如下:
-
在專案的根目錄執行
composer require aliyuncs/oss-sdk-php
,或者在composer.json
檔案中新增依賴關係如下:"require": {
"aliyuncs/oss-sdk-php": "~2.x.x"
}
-
執行
composer install
,安裝依賴。安裝完成後,目錄結構如下:.
├── app.php
├── composer.json
├── composer.lock
└── vendor
其中index
.php
是您的應用程式,vendor/
app.php
中新增依賴關係如下: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就是訪問地址