building-sign/app/service/AliOss.php

46 lines
945 B
PHP
Executable File

<?php
namespace app\service;
use OSS\Core\OssException;
use OSS\OssClient;
use think\facade\Config;
use think\facade\Log;
class AliOss
{
private static $oss = null;
private function __construct()
{
}
private function __clone()
{
}
/**
* 阿里云OSS
*
*/
public static function config()
{
Config::load('extra/alioss', 'alioss');
return config('alioss');
}
// 阿里云OSS实例 单例模式
public static function instance(): ?OssClient
{
if (self::$oss == null) {
try {
$conf = self::config();
self::$oss = new OssClient($conf['accessKeyId'], $conf['accessKeySecret'], $conf['endpoint']);
} catch (OssException $e) {
Log::error('实例化阿里云OSS失败: ' . $e->getMessage());
return null;
}
}
return self::$oss;
}
}