mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
66 lines
2.2 KiB
PHP
66 lines
2.2 KiB
PHP
<?php
|
||
|
||
namespace base\common\command;
|
||
|
||
use app\common\console\Command;
|
||
use app\common\service\UploadService;
|
||
use think\console\Input;
|
||
use think\console\Output;
|
||
use think\facade\Filesystem;
|
||
use think\File;
|
||
|
||
class OssStaticBase extends Command
|
||
{
|
||
protected function configure()
|
||
{
|
||
parent::configure();
|
||
|
||
$this->setName('OssStatic')
|
||
->setDescription('将静态资源上传到oss上');
|
||
}
|
||
|
||
protected function execute(Input $input, Output $output)
|
||
{
|
||
try {
|
||
$start_time = date('Y-m-d H:i:s');
|
||
$list = Filesystem::disk('local_static')->listContents('/', true);
|
||
$upload_service = new UploadService();
|
||
$uploadPrefix = config('app.oss_static_prefix', 'oss_static_prefix');
|
||
|
||
$success_count = 0;
|
||
$failed_count = 0;
|
||
|
||
foreach ($list as $file_item) {
|
||
if ($file_item['type'] != 'file') {
|
||
continue;
|
||
}
|
||
|
||
$file_path = $file_item['path'];
|
||
|
||
$file_path = Filesystem::disk('local_static')->path($file_path);
|
||
|
||
$file = new File($file_path, false);
|
||
|
||
$save_name = $file_item['path'];
|
||
try {
|
||
$model_file = $upload_service->save($file, $save_name, true, $uploadPrefix, true);
|
||
$success_count++;
|
||
$output->info('文件上传成功:' . $save_name . '。上传地址:' . $model_file['url']);
|
||
} catch (\Throwable $th) {
|
||
$failed_count++;
|
||
$output->error('文件上传失败:' . $save_name . '。错误信息:' . $th->getMessage());
|
||
}
|
||
}
|
||
|
||
// 文本模式输出
|
||
$output->writeln('========正在上传静态资源到OSS上:========' . $start_time);
|
||
$output->writeln('========已完成静态资源上传到OSS上:========' . date('Y-m-d H:i:s'));
|
||
$output->writeln('总计: ' . ($success_count + $failed_count) . ' 个文件,成功: ' . $success_count . ' 个,失败: ' . $failed_count . ' 个');
|
||
|
||
return $failed_count > 0 ? 1 : 0;
|
||
} catch (\Throwable $e) {
|
||
throw $e;
|
||
}
|
||
}
|
||
}
|