diff --git a/README.md b/README.md index 8716113..9c62afb 100755 --- a/README.md +++ b/README.md @@ -53,11 +53,11 @@ OneNav是一款开源免费的书签(导航)管理程序,使用使用PHP + ```bash docker run -itd --name="onenav" -p 80:80 \ -v /data/onenav:/data/wwwroot/default/data \ - helloz/onenav:0.9.32 + helloz/onenav:0.9.33 ``` * 第一个`80`是自定义访问端口,可以自行修改,第二个`80`是容器端口,请勿修改 * `/data/onenav`:本机挂载目录,用于持久存储Onenav数据 -* `0.9.32`:改成OneNav最新版本号,可以通过[releases](https://github.com/helloxz/onenav/releases)查看最新版本号 +* `0.9.33`:改成OneNav最新版本号,可以通过[releases](https://github.com/helloxz/onenav/releases)查看最新版本号 > 更多说明,请参考帮助文档:https://dwz.ovh/onenav diff --git a/class/Api.php b/class/Api.php index 64b662b..7e793b7 100644 --- a/class/Api.php +++ b/class/Api.php @@ -566,6 +566,58 @@ class Api { } } } + /** + * name:通用上传接口 + * @param1:指定上传路径 + * @param2:指定允许的后缀名称,是一个数组 + */ + public function general_upload($path,$suffixs){ + // 验证权限 + $this->auth($token); + // 存在错误,上传失败 + if ($_FILES["file"]["error"] > 0) + { + $this->err_msg(-1015,'File upload failed!'); + } + else + { + $filename = $_FILES["file"]["name"]; + //获取文件后缀 + $suffix = explode('.',$filename); + $suffix = strtolower(end($suffix)); + + //临时文件位置 + $temp = $_FILES["file"]["tmp_name"]; + + // 遍历$suffixs后缀文件,判断是否允许 + foreach ($suffixs as $key => $value) { + if( $suffix == $value ) { + $allow = true; + break; + } + } + + // 如果是不允许的文件,则删除 + if( $allow !== TRUE ) { + //删除临时文件 + unlink($filename); + $this->err_msg(-1014,'Unsupported file suffix name!'); + } + + // 如果是允许的文件,则移动到指定目录,path格式为data/ + if( copy($temp,$path.$filename) ) { + $data = [ + 'code' => 0, + 'file_name' => $path.$filename + ]; + exit(json_encode($data)); + } + else{ + // 复制文件失败了 + $this->err_msg(-2000,'上传失败,请检查' + $path + '目录权限!'); + } + } + } /** * 图标上传 diff --git a/controller/api.php b/controller/api.php index 0b6c5d9..058e554 100755 --- a/controller/api.php +++ b/controller/api.php @@ -661,4 +661,10 @@ function set_cat_batch() { function global_search() { global $api; $api->global_search(); +} + +// 上传数据备份文件 +function upload_backup(){ + global $api; + $api->general_upload('data/backup/',['db3']); } \ No newline at end of file diff --git a/data/update.log b/data/update.log index fb6b4a9..ac1bbac 100755 --- a/data/update.log +++ b/data/update.log @@ -248,4 +248,13 @@ CREATE INDEX on_options_key_IDX ON on_options ("key"); 2. 修复查询分类链接要求输入关键词的BUG 3. 修改Medoo默认获取模式为关联数组,避免过多冗余数据 4. 重构OneNav Chrome扩展 -5. 后台获取API页面,新增API域名显示 \ No newline at end of file +5. 后台获取API页面,新增API域名显示 + +20231114 +1. 优化后台首页信息显示 +2. 优化主题商城主题展示效果 +3. 修改登录页面静态资源参数被宝塔拦截问题 + +20231207 +1. 新增技术支持按钮 +2. 数据备份页面新增上传备份功能 \ No newline at end of file diff --git a/templates/admin/header.php b/templates/admin/header.php index 6c7bb01..444b91c 100755 --- a/templates/admin/header.php +++ b/templates/admin/header.php @@ -27,6 +27,7 @@
  • 我的链接
  • 添加链接
  • -->
  • 交流群
  • +
  • 技术支持