You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.2 KiB
72 lines
2.2 KiB
11 months ago
|
<?php
|
||
|
// +----------------------------------------------------------------------
|
||
|
// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
|
||
|
// +----------------------------------------------------------------------
|
||
|
// | Copyright (c) 2017~2023 https://www.yiovo.com All rights reserved.
|
||
|
// +----------------------------------------------------------------------
|
||
|
// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
|
||
|
// +----------------------------------------------------------------------
|
||
|
// | Author: 萤火科技 <admin@yiovo.com>
|
||
|
// +----------------------------------------------------------------------
|
||
|
declare (strict_types=1);
|
||
|
|
||
|
namespace app\common\library\storage\engine;
|
||
|
|
||
|
use OSS\OssClient;
|
||
|
use OSS\Core\OssException;
|
||
|
|
||
|
/**
|
||
|
* 阿里云存储引擎 (OSS)
|
||
|
* Class Aliyun
|
||
|
* @package app\common\library\storage\engine
|
||
|
*/
|
||
|
class Aliyun extends Basics
|
||
|
{
|
||
|
/**
|
||
|
* 执行上传
|
||
|
* @return bool
|
||
|
*/
|
||
|
public function upload(): bool
|
||
|
{
|
||
|
try {
|
||
|
$ossClient = new OssClient(
|
||
|
$this->config['access_key_id'],
|
||
|
$this->config['access_key_secret'],
|
||
|
$this->config['domain'],
|
||
|
true
|
||
|
);
|
||
|
$result = $ossClient->uploadFile(
|
||
|
$this->config['bucket'],
|
||
|
$this->getSaveFileInfo()['file_path'],
|
||
|
$this->getRealPath()
|
||
|
);
|
||
|
} catch (OssException $e) {
|
||
|
$this->error = $e->getMessage();
|
||
|
return false;
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 删除文件
|
||
|
* @param string $filePath
|
||
|
* @return bool
|
||
|
*/
|
||
|
public function delete(string $filePath): bool
|
||
|
{
|
||
|
try {
|
||
|
$ossClient = new OssClient(
|
||
|
$this->config['access_key_id'],
|
||
|
$this->config['access_key_secret'],
|
||
|
$this->config['domain'],
|
||
|
true
|
||
|
);
|
||
|
$ossClient->deleteObject($this->config['bucket'], $filePath);
|
||
|
} catch (OssException $e) {
|
||
|
$this->error = $e->getMessage();
|
||
|
return false;
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
}
|