~~~
<?php
namespace app\utils;
use OSS\OssClient;
use OSS\Core\OssException;
class AliOss
{
/**
* 阿里云oss簡單上傳
* @param $path 文件可訪問的路徑
* @param $filename 文件名稱
* @param $flag 1.頭像 2.二維碼 3.聊天
* @return bool|string
*/
public static function simpleUpload($path,$filename,$flag=3){
// 阿里云主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM賬號進行API訪問或日常運維,請登錄RAM控制臺創建RAM賬號。
$accessKeyId = env('oss.accesskeyid');
$accessKeySecret = env('oss.ACCESSKEYSECRET');
// Endpoint以杭州為例,其它Region請按實際情況填寫。
$endpoint = env('oss.endpoint');
// 設置存儲空間名稱。
$bucket= env('oss.bucket');
// 設置文件名稱。
if($flag==1){
//頭像上傳
$object = 'im/head/'.$filename;
}else if($flag==2){
//二維碼上傳
$object = 'im/qrcode/'.$filename;
}else{
//聊天圖片
$object = 'im/chat/'.$filename;
}
// <yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt。
//$filePath = $path;
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->uploadFile($bucket, $object, $path);
//返回相對路徑地址
return '/'.$object;
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return false;
}
}
}
~~~