From 53934e9d4b1c122a6dddf475420fc998169837ca Mon Sep 17 00:00:00 2001 From: Luffy <52o@qq52o.cn> Date: Fri, 7 Jun 2024 08:12:25 +0800 Subject: [PATCH] Support wp-cli commands to upload files (#38) --- .wordpress-org/screenshot-3.png | Bin 0 -> 99108 bytes README.md | 1 + aliyun-oss-wordpress.php | 40 ++++++------- oss-commands.php | 101 ++++++++++++++++++++++++++++++++ readme.txt | 12 +++- uninstall.php | 6 +- 6 files changed, 134 insertions(+), 26 deletions(-) create mode 100644 .wordpress-org/screenshot-3.png create mode 100644 oss-commands.php diff --git a/.wordpress-org/screenshot-3.png b/.wordpress-org/screenshot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..af02ccc56e0544aeee462d5ee05fcd16e71acb18 GIT binary patch literal 99108 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
pKr@{_hc^>t>h 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 8b937e3..79da5fd 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ - [x] 支持上传文件自动重命名 - [x] 支持使用 RAM 操作 - [x] 支持原图保护 +- [x] 支持 `wp-cli` 命令上传文件 ## 安装 diff --git a/aliyun-oss-wordpress.php b/aliyun-oss-wordpress.php index df8f5d7..9961fd7 100644 --- a/aliyun-oss-wordpress.php +++ b/aliyun-oss-wordpress.php @@ -3,7 +3,7 @@ Plugin Name: OSS Aliyun Plugin URI: https://github.com/sy-records/aliyun-oss-wordpress Description: 使用阿里云对象存储 OSS 作为附件存储空间。(This is a plugin that uses Aliyun Object Storage Service for attachments remote saving.) -Version: 1.4.12 +Version: 1.4.13 Author: 沈唁 Author URI: https://qq52o.me License: Apache2.0 @@ -19,11 +19,15 @@ use OSS\Credentials\CredentialsProvider; use AlibabaCloud\Credentials\Credential; use OSS\Credentials\StaticCredentialsProvider; -define('OSS_VERSION', '1.4.12'); +define('OSS_VERSION', '1.4.13'); define('OSS_BASEFOLDER', plugin_basename(dirname(__FILE__))); if (!function_exists('get_home_path')) { - require_once(ABSPATH . 'wp-admin/includes/file.php'); + require_once ABSPATH . 'wp-admin/includes/file.php'; +} + +if (defined('WP_CLI') && WP_CLI) { + require_once plugin_dir_path(__FILE__) . 'oss-commands.php'; } class OSSCredentialsWrapper implements CredentialsProvider @@ -121,9 +125,7 @@ function oss_get_file_meta($object) $bucket = oss_get_bucket_name(); return $ossClient->getObjectMeta($bucket, $object); } catch (\Throwable $e) { - if (WP_DEBUG) { - echo 'Error Message: ', $e->getMessage(), PHP_EOL, 'Error Code: ', $e->getCode(); - } + error_log($e->getMessage()); return ['content-length' => 0]; } } @@ -132,6 +134,7 @@ function oss_get_file_meta($object) * @param string $object * @param string $file * @param bool $no_local_file + * @return bool */ function oss_file_upload($object, $file, $no_local_file = false) { @@ -143,13 +146,14 @@ function oss_file_upload($object, $file, $no_local_file = false) $ossClient = oss_get_client(); try { $ossClient->uploadFile($bucket, ltrim($object, '/'), $file); - } catch (\Throwable $e) { - if (WP_DEBUG) { - echo 'Error Message: ', $e->getMessage(), PHP_EOL, 'Error Code: ', $e->getCode(); + if ($no_local_file) { + oss_delete_local_file($file); } - } - if ($no_local_file) { - oss_delete_local_file($file); + + return true; + } catch (\Throwable $e) { + error_log($e->getMessage()); + return false; } } @@ -167,7 +171,7 @@ function oss_is_delete_local_file() /** * 删除本地文件 * - * @param $file + * @param string $file * @return bool */ function oss_delete_local_file($file) @@ -201,9 +205,7 @@ function oss_delete_oss_file($file) $ossClient = oss_get_client(); $ossClient->deleteObject($bucket, $file); } catch (\Throwable $e) { - if (WP_DEBUG) { - echo 'Error Message: ', $e->getMessage(), PHP_EOL, 'Error Code: ', $e->getCode(); - } + error_log($e->getMessage()); } } @@ -223,9 +225,7 @@ function oss_delete_oss_files(array $files) $ossClient = oss_get_client(); $ossClient->deleteObjects($bucket, $deleteObjects); } catch (\Throwable $e) { - if (WP_DEBUG) { - echo 'Error Message: ', $e->getMessage(), PHP_EOL, 'Error Code: ', $e->getCode(); - } + error_log($e->getMessage()); } } @@ -457,7 +457,7 @@ function oss_read_dir_queue($homePath, $uploadPath) $foundFiles = []; while (!$dirsToProcess->isEmpty()) { - list($currentDir, $relativeDir) = $dirsToProcess->dequeue(); + [$currentDir, $relativeDir] = $dirsToProcess->dequeue(); foreach (new DirectoryIterator($currentDir) as $fileInfo) { if ($fileInfo->isDot()) continue; diff --git a/oss-commands.php b/oss-commands.php new file mode 100644 index 0000000..1fad8e5 --- /dev/null +++ b/oss-commands.php @@ -0,0 +1,101 @@ + + * : 要同步的文件夹 + * + * ## EXAMPLES + * + * wp oss upload wp-content/uploads + * + * @when after_wp_load + */ + public function upload($args, $assoc_args) + { + [$path] = $args; + $dir = ABSPATH . $path; + if (!is_dir($dir)) { + WP_CLI::error("Directory not found: [{$dir}]"); + } + + WP_CLI::line("Uploading files from [{$dir}] to OSS..."); + + $files = oss_read_dir_queue(ABSPATH, $path); + if (empty($files)) { + WP_CLI::success('No files to upload.'); + return; + } + + foreach ($files as $file) { + $status = oss_file_upload($file['key'], $file['filepath']); + if ($status) { + WP_CLI::line("Uploaded: {$file['key']}"); + } else { + WP_CLI::line("Failed: {$file['key']}"); + } + } + + $total = count($files); + WP_CLI::success("Uploaded {$total} files."); + } + + /** + * 同步文件到 OSS + * + * ## OPTIONS + * + * + * : 要同步的文件 + * + * [--delete] + * : 如果设置,上传后会删除本地文件 + * [--key=] + * : 指定上传到 OSS 的 key,默认和文件路径一致 + * + * ## EXAMPLES + * + * wp oss upload-file wp-content/uploads/2021/01/1.jpg + * wp oss upload-file wp-content/uploads/2021/01/1.jpg --delete + * wp oss upload-file wp-content/uploads/2021/01/1.jpg --key=2021/01/1.jpg + * + * @when after_wp_load + * @subcommand upload-file + */ + public function upload_file($args, $assoc_args) + { + [$path] = $args; + $file = ABSPATH . $path; + if (!is_file($file)) { + WP_CLI::error("File not found: {$file}"); + } + + $delete = false; + if (isset($assoc_args['delete'])) { + $delete = true; + } + + $key = isset($assoc_args['key']) ? $assoc_args['key'] : $path; + + WP_CLI::line("Uploading file [{$file}] to OSS with key [$key]..."); + + $status = oss_file_upload("/{$key}", $file, $delete); + if ($status) { + WP_CLI::success("Uploaded: {$path}"); + } else { + WP_CLI::error("Failed: {$path}"); + } + } +} + +WP_CLI::add_command('oss', 'OSS_CLI_Commands', ['shortdesc' => 'Commands used to operate OSS.']); diff --git a/readme.txt b/readme.txt index b966f66..153bf88 100644 --- a/readme.txt +++ b/readme.txt @@ -4,8 +4,8 @@ Donate link: https://qq52o.me/sponsor.html Tags: oss, 阿里云, 对象存储, aliyun Requires at least: 4.6 Tested up to: 6.5 -Requires PHP: 7.0 -Stable tag: 1.4.12 +Requires PHP: 7.1 +Stable tag: 1.4.13 License: Apache2.0 License URI: http://www.apache.org/licenses/LICENSE-2.0.html @@ -29,7 +29,8 @@ License URI: http://www.apache.org/licenses/LICENSE-2.0.html 8. 支持上传文件自动重命名 9. 支持使用 RAM 操作 10. 支持原图保护 -11. 插件更多详细介绍和安装:[https://github.com/sy-records/aliyun-oss-wordpress](https://github.com/sy-records/aliyun-oss-wordpress) +11. 支持 `wp-cli` 命令上传文件 +12. 插件更多详细介绍和安装:[https://github.com/sy-records/aliyun-oss-wordpress](https://github.com/sy-records/aliyun-oss-wordpress) ## 其他插件 @@ -54,6 +55,7 @@ License URI: http://www.apache.org/licenses/LICENSE-2.0.html 1. 设置页面 2. 数据库同步 +3. 内置的 wp-cli 命令 == Frequently Asked Questions == @@ -74,6 +76,10 @@ License URI: http://www.apache.org/licenses/LICENSE-2.0.html == Changelog == += 1.4.13 = + +- 支持 `wp-cli` 命令上传文件 + = 1.4.12 = - 支持原图保护 diff --git a/uninstall.php b/uninstall.php index 0539ba3..3e26537 100644 --- a/uninstall.php +++ b/uninstall.php @@ -1,11 +1,11 @@