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.
58 lines
2.2 KiB
58 lines
2.2 KiB
<?php
|
|
|
|
// +----------------------------------------------------------------------
|
|
// | EasyAdmin
|
|
// +----------------------------------------------------------------------
|
|
// | PHP交流群: 763822524
|
|
// +----------------------------------------------------------------------
|
|
// | 开源协议 https://mit-license.org
|
|
// +----------------------------------------------------------------------
|
|
// | github开源项目:https://github.com/zhongshaofa/EasyAdmin
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace app\common\command;
|
|
|
|
|
|
use EasyAdmin\console\CliEcho;
|
|
use EasyAdmin\tool\CommonTool;
|
|
use EasyAdmin\upload\driver\alioss\Oss;
|
|
use think\console\Command;
|
|
use think\console\Input;
|
|
use think\console\input\Option;
|
|
use think\console\Output;
|
|
|
|
class OssStatic extends Command
|
|
{
|
|
|
|
protected function configure()
|
|
{
|
|
$this->setName('OssStatic')
|
|
->setDescription('将静态资源上传到oss上');
|
|
}
|
|
|
|
protected function execute(Input $input, Output $output)
|
|
{
|
|
$output->writeln("========正在上传静态资源到OSS上:========" . date('Y-m-d H:i:s'));
|
|
$dir = root_path() . 'public' . DIRECTORY_SEPARATOR . 'static';
|
|
$list = CommonTool::readDirAllFiles($dir);
|
|
$uploadConfig = sysconfig('upload');
|
|
$uploadPrefix = config('app.oss_static_prefix', 'oss_static_prefix');
|
|
foreach ($list as $key => $val) {
|
|
list($objectName, $filePath) = [$uploadPrefix . DIRECTORY_SEPARATOR . $key, $val];
|
|
try {
|
|
$upload = Oss::instance($uploadConfig)
|
|
->save($objectName, $filePath);
|
|
} catch (\Exception $e) {
|
|
CliEcho::error('文件上传失败:' . $filePath . '。错误信息:' . $e->getMessage());
|
|
continue;
|
|
}
|
|
if ($upload['save'] == true) {
|
|
CliEcho::success('文件上传成功:' . $filePath . '。上传地址:' . $upload['url']);
|
|
} else {
|
|
CliEcho::error('文件上传失败:' . $filePath . '。错误信息:' . $upload['msg']);
|
|
}
|
|
}
|
|
$output->writeln("========已完成静态资源上传到OSS上:========" . date('Y-m-d H:i:s'));
|
|
}
|
|
|
|
}
|