插件使用说明
-- 插件更新于2020年6月25号。
- 插件基于aliyun-oss-php-sdk Release 2.3.1开发,
若以后SDK开发包更新导致插件不可用,请到 我的博客^-^获取新版本插件,如果我还用typecho、阿里云OSS就会更新。
-- 若开启“在服务器保留备份”功能,请注意:
-1)请赋予以下目录写权限:
-2)当文件成功上传到OSS,但保存到服务器失败时,插件不会报错,这将导致当前文件在服务器上没有备份,但是会在此插件页面显示日志,请定期查阅并清理。
-3)运行在云应用引擎上的站点“在服务器保留备份”选项无效。
+- 为保证正确记录日志,请赋予以下目录写权限:
,并定期查阅日志处理事件错误。
+- 当文件成功上传到OSS,但保存到服务器失败时,总体进度会显示失败。在OSS中的文件不会自动删除,请根据错误日志自行处理。
+- 运行在云应用引擎上的站点“在服务器保留备份”选项无效,且无法记录日志。
- 旧版本Typecho存在无法上传大写扩展名文件的bug,请更新Typecho程序。
- 如有问题或建议请到 我的博客https://www.droomo.top/AliOssForTypecho.html 留言
@@ -736,18 +734,20 @@ window.onload = function() {
}
private static function my_error_log(&$error) {
- $upload_root = Typecho_Common::url(defined('__TYPECHO_UPLOAD_DIR__') ? __TYPECHO_UPLOAD_DIR__ : self::UPLOAD_DIR,
+ if (!Typecho_Common::isAppEngine()) {
+ $upload_root = Typecho_Common::url(defined('__TYPECHO_UPLOAD_DIR__') ? __TYPECHO_UPLOAD_DIR__ : self::UPLOAD_DIR,
defined('__TYPECHO_UPLOAD_ROOT_DIR__') ? __TYPECHO_UPLOAD_ROOT_DIR__ : __TYPECHO_ROOT_DIR__);
- $error_log_file = $upload_root . self::LOG_SUFFIX . 'error.log';
+ $error_log_file = $upload_root . self::LOG_SUFFIX . 'error.log';
- $log_dir = dirname($error_log_file);
- if (!is_dir($log_dir)) {
- if (is_writeable($upload_root)) {
- self::makeUploadDir($log_dir);
+ $log_dir = dirname($error_log_file);
+ if (!is_dir($log_dir)) {
+ if (is_writeable($upload_root)) {
+ self::makeUploadDir($log_dir);
+ }
}
- }
- if (is_writeable($log_dir)) {
- error_log($error, 3, $error_log_file);
+ if (is_writeable($log_dir)) {
+ error_log($error, 3, $error_log_file);
+ }
}
}
diff --git a/README.MD b/README.MD
new file mode 100644
index 0000000..13bda3d
--- /dev/null
+++ b/README.MD
@@ -0,0 +1,11 @@
+# Typecho插件AliOssForTypecho
+
+### 介绍
+用于将Typecho上传的附件保存到阿里云的OSS。
+最后更新于2020年6月。
+
+### 特性
+1. 可以选择只保存到OSS,或同时保存到OSS和服务器,方便维护;
+2. 实现同名文件上传时自动重命名,如在OSS或服务器上已经存在名为 `test.png` 的图片,若再次上传 `test.png`,新图片会重命名成 `test(1).png`;
+3. 记录上传文件时的错误日志,再也不用为莫名其妙的上传失败或者上传时毫无反应懵逼了。
+4. 可以自定义CDN地址、OSS储存前缀、OSS连接方式(内网、外网);