diff --git a/README.md b/README.md
index ecea202..e6753ea 100755
--- a/README.md
+++ b/README.md
@@ -1,9 +1,4 @@
-## EasyImage 简单图床 2.0
-> 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序
-演示地址:[https://png.cm/](https://png.cm/)
-之前一直用的图床程序是:[PHP多图长传程序2.4.3](https://www.jb51.net/codes/40544.html)
-由于版本过老并且使用falsh上传,在当前html5流行大势所趋下,遂利用基础知识新写了一个以html5为默认上传并且支持flash,向下兼容至IE9。
-***本程序环境要求极低,适用于单一场景(游客上传)和个人使用,不适于多用户复杂场景***
+## EasyImage2.0 简单图床
[](https://github.com/icret/EasyImages2.0/stargazers)
[](https://github.com/icret/EasyImages2.0/network/members)
@@ -12,720 +7,64 @@
[](https://cdn.jsdelivr.net/gh/icret/EasyImages2.0@EasyImage2.0/)
[](https://github.com/icret/EasyImages2.0/blob/master/LICENSE)
[](https://jq.qq.com/?_wv=1027&k=jfXRHU8Y)
-
->[演示](https://png.cm/) | [Chrome/Edge 插件](https://github.com/icret/EasyImage-Browser-Extension) | [使用手册](https://www.kancloud.cn/easyimage/easyimage/) | [社区讨论](https://github.com/icret/EasyImages2.0/discussions) | [Telegram](https://t.me/Easy_Image)
->
+[演示](https://png.cm/) · [手册](https://www.kancloud.cn/easyimage/easyimage/) · [社区](https://github.com/icret/EasyImages2.0/discussions) · [Telegram](https://t.me/Easy_Image) - 插件: [Chrome](/doc/Chrome插件.md) · [Edge](/doc/Edge插件.md) · [PicGo](/doc/使用PicGo上传.md) · [ShareX](/doc/使用ShareX上传.md)
+
+目录: [安装](/doc/安装图床.md) | [安全](/doc/安全配置.md) | [API](/doc/API.md) | [鉴黄](/doc/鉴黄.md) | [升级](/doc/图床更新升级.md) | [常见问题](/doc/常见问题.md) | [环境/兼容](#环境要求) | [更新日志](/doc/更新日志.md) | [打赏开发者](/doc/打赏开发者.md) | [鸣谢](#鸣谢) | [许可证](#开源许可)
+
+> 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序
+演示地址:[https://png.cm/](https://png.cm/)
+之前一直用的图床程序是:[PHP多图长传程序2.4.3](https://www.jb51.net/codes/40544.html)
+由于版本过老并且使用falsh上传,在当前html5流行大势所趋下,遂利用基础知识新写了一个以html5为默认上传并且支持flash,向下兼容至IE9。
+***本程序环境要求极低,适用于单一场景(游客上传)和个人使用,不适于多用户复杂场景***
>本人善写bug 发现bug可提交 [issues](https://github.com/icret/EasyImages2.0/issues) 追求稳定请下载 [稳定版](https://github.com/icret/EasyImages2.0/releases)
-## 目录
-
-[特点](#特点)-[注意](#常见问题)-[安装](#安装)-[升级](#程序升级)-[安全](#安全配置)-[API](#API上传)-[鉴黄](#鉴黄)-[更新日志](#更新日志)-[支持开发者](#支持开发者)-[界面演示](#界面演示)-[兼容](#兼容)-[鸣谢](#鸣谢)-[许可证](#开源许可)
-
## 特点
-- [x] 支持仅登录后上传
-- [x] 支持设置图片质量
-- [x] 支持文字/图片水印
-- [x] 支持设置图片指定宽/高
-- [x] 支持上传图片转换为指定格式
-- [x] 支持限制最低宽度/高度上传
-- [x] 支持API
-- [x] 在线管理图片
-- [x] 支持网站统计
-- [x] 支持设置广告
-- [x] 支持图片鉴黄
-- [x] 支持自定义代码
-- [x] 支持上传IP黑白名单
-- [x] 支持创建仅上传用户
-- [x] 对于安装环境要求极低
-- [x] 更多功能支持请安装尝试···
+* [x] 支持仅登录后上传
+* [x] 支持设置图片质量
+* [x] 支持文字/图片水印
+* [x] 支持设置图片指定宽/高
+* [x] 支持上传图片转换为指定格式
+* [x] 支持限制最低宽度/高度上传
+* [x] 支持API
+* [x] 在线管理图片
+* [x] 支持网站统计
+* [x] 支持设置广告
+* [x] 支持图片鉴黄
+* [x] 支持自定义代码
+* [x] 支持上传IP黑白名单
+* [x] 支持创建仅上传用户
+* [x] 对于安装环境要求极低
+* [x] 更多功能支持请安装尝试···
-## 安装
-> 推荐环境:Nginx + PHP≥7.0 + linux
-#### windows:
-- 下载简单图床 [最新版](https://github.com/icret/EasyImages2.0/archive/refs/heads/master.zip)|[稳定版](https://github.com/icret/EasyImages2.0/releases) 上传至web根目录
-
-#### Linux:
-
-- `git clone https://github.com/icret/EasyImages2.0.git` 至安装目录
-
-- 赋予安装目录www:www和0755权限:
-```shell
-chmod -R 755 /安装目录
-chown -R www:www /安装目录
-```
-
-#### BT宝塔面板
-- 安装环境 Ngixn(推荐) / Apache + PHP(推荐≥7.0)
-- 软件商店搜索`简单图床`一键部署
-
->更多安装方式和问题请查阅->[使用手册](https://www.kancloud.cn/easyimage/easyimage/2625222)
-
-## 常见问题
-
-1. 请将所有文件赋予`0755`和`www`权限
-2. 对`PHP`不太熟悉的请不要将图床程序放置于二级目录
-3. 请关闭防跨站或删除域名文件夹内的`user.ini`文件 如`宝塔面板`|`军哥lnmp`
-4. 网站域名与图片域名必须填写,如果只有一个域名请填写成一样的
-5. 首次使用会执行安装程序并并在`config`目录生成`install.lock` 跳过安装流程请删除`install`目录
-6. 首次访问首页会检查环境并在`config`目录下生成`EasyImage.lock`
-7. 可以使用谷歌浏览器的调试模式查看错误`F12->console`
-8. 提示 `upload File size exceeds the maximum value` 调整`PHP`上传大小
-9. 提示 `undefined function imagecreatefromwebp()`GD没安装webp, 以此类推
-10. 提示 `Warning: is_dir(): open_basedir restriction in effect`解决方法同`3`
-11. 无法上传/访问/不显示验证码: 1. 权限问题见问题`1` 2. CDN缓存了 3. 防火墙拦截
-12. 宝塔或者其他环境安装成功但是上传失败,多数原因是防火墙拦截上传,取消拦截即可
-13. `Fatal error: Allowed memory size......`主机内存或分配给PHP的内存不够 解决方法百度
-14. 开启原图保护功能后打开图片链接显示`404`是因为`nginx`或`Apache`页面缓存导致的,`Nginx`解决办法:
-```Nginx
-# 把Nginx这段配置删掉
-location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
-{
- expires 30d;
- error_log /dev/null;
- access_log /dev/null;
-}
-```
-
-#### API上传
-通过API上传示例
-- html示例
-
-```html
-
-```
-- Python示例
-```python
-import requests
-
-url = "https://png.cm/api/index.php"
-
-payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n8337effca0ddfcd9c5899f3509b23657\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n195124.jpg\r\n-----011000010111000001101001--\r\n\r\n"
-headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"}
-
-response = requests.request("POST", url, data=payload, headers=headers)
-
-print(response.text)
-```
-- curl示例
-
-```curl
-curl --request POST \
- --url https://png.cm/api/index.php \
- --header 'content-type: multipart/form-data' \
- --form token=8337effca0ddfcd9c5899f3509b23657 \
- --form image=@195124.jpg
-```
-- JQuery示例
-```jQuery
-const form = new FormData();
-form.append("token", "8337effca0ddfcd9c5899f3509b23657");
-form.append("image", "195124.jpg");
-
-const settings = {
- "async": true,
- "crossDomain": true,
- "url": "https://png.cm/api/index.php",
- "method": "POST",
- "headers": {},
- "processData": false,
- "contentType": false,
- "mimeType": "multipart/form-data",
- "data": form
-};
-
-$.ajax(settings).done(function (response) {
- console.log(response);
-});
-```
-
-
-- 需要开启图床安全->API上传示例
-- 上传成功后返回JSON
-```json
- {
- "result":"success","code":200,
- "url":"https:\/\/i2.100024.xyz\/2023\/01\/24\/10gwv0y-0.webp",
- "srcName":"195124",
- "thumb":"https:\/\/png.cm\/application\/thumb.php?img=\/i\/2023\/01\/24\/10gwv0y-0.webp",
- "del":"https:\/\/png.cm\/application\/del.php?hash=bW8vWG4vcG8yM2pLQzRJUGI0dHlTZkN4L2grVmtwUTFhd1A4czJsbHlMST0="
- }
-```
- ## 程序升级
-
-- 备份`config`目录(没有增加上传用户和api可以只保留`config.php`文件)和`上传文件目录`
-- 将新程序下载至网站目录解压覆盖,然后将备份的文件替换既完成升级
-- 如果出现错误请在设置中把所有设置中底部按钮 `保存` 一次
-
-## 安全配置
-
-- Apache环境在上传目录添加配置文件`.htaccess` 使上传目录不可运行PHP程序(默认已经存在)
-
-```Apache
-
-Order allow,deny
-Deny from all
-
-```
-- Nginx环境禁止多个目录运行`PHP`程序:
-
-```Nginx
- # "i|public"是你要禁止的目录 放到listen段落之后才生效
- location ~* ^/(i|public)/.*\.(php|php5)$
- {
- deny all;
- }
-```
-
-- Lighthttpd环境禁止多个目录运行`PHP`程序:
-
-```Lighthttpd
-$HTTP["url"] =~ "^/(i|public)/" {
- fastcgi.server = ()
-}
-```
-
-## 鉴黄
-图床支持moderatecontent和nsfwjs方式鉴黄
-- moderatecontent:
- 1. 注册[moderatecontent](https://client.moderatecontent.com/)并获取Token
- 2. 后台API设置中填入Moderate Key
- 3. 后台图片安全图片鉴黄以moderatecontent方式
-
-- nsfwjs [nsfwjs docker](https://hub.docker.com/r/icret/nsfw_restful_api)
- 1. 确定已安装`docker`和`docker-compose`
- 2. 拉取镜像 `docker pull icret/nsfw_restful_api:latest` 或者直接 `docker run -p 3307:3307 -d icret/nsfw_restful_api`
- 3. 后台API设置中填入网址 比如:`http://IP:3307/api/nsfw/classify?url=`
- 4. 后台图片安全图片鉴黄以nsfwjs方式
- 5. 如果你使用别的nsfwjs api,必须返回json 并且格式如下:
-
-```json
-[{
- "className": "Drawing",
- "probability": 0.824431836605072
-}, {
- "className": "Hentai",
- "probability": 0.16360442340373993
-}, {
- "className": "Neutral",
- "probability": 0.007620695047080517
-}, {
- "className": "Porn",
- "probability": 0.004154415801167488
-}, {
- "className": "Sexy",
- "probability": 0.00018858206749428064
-}]
-```
-
-## 更新日志
-
-点击查看2.0版更新日志
-
-* 2023-02-05 v2.7.4 dev
-- 此版本将作为优化和修复bugs
-
-* 2023-02-05 v2.7.3
-- 修复设置中手动压缩失败!
-- 优化排版
-
-* 2023-02-05 v2.7.2
-- 增加删除单条历史上传记录
-- 增加 [web-indexr](https://github.com/rehiy/web-indexr) 文件管理, 正在实验中
-- - 作为 [Tinyfilemanager](https://github.com/prasathmani/tinyfilemanager) 的替代品 更轻量化 简单化
-- 修复开启登录上传后,上传者账号上传失败 [#87](https://github.com/icret/EasyImages2.0/issues/87#issue-1569794639)
-- 修复检测登录状态错误
-- 优化排版和移动端显示
-
-* 2023-02-01 v2.7.1
-- 更新版本号
-
-* 2023-02-01 v2.7.0
-- 增加限制游客上传
-- 增加上传历史记录
-- 增加粘贴上传状态
-- 增加广场非图片图标
-- 增加前端显示缩略图链接
-- 增加每日获取Bing图片背景
-- 增加图片详细信息管理登录后显示更多信息
-- 增加解析上传IP地址 (使用方法参考提示信息)
-- 修复图片详细信息中随机图片排版混乱
-- 替换访问生成缩略图代码
-- 更新一些组件
-- 调整前端显示
-- 优化代码
-
-* 2023-01-21 v2.6.9 Happy New Year
-- 修复BMP格式无法增加水印(不建议开启,非常耗时)
-- 修复上传用户组会串联变成管理员权限 [#61](https://github.com/icret/EasyImages2.0/issues/61)
-- 增加了上传提示和登录提示
-- 增加自定义存储分类路径 设置方法参考 [PHP date() 函数](https://www.runoob.com/php/php-date.html)
-- 更改后台部分管理设置的位置
-- 优化操作逻辑和信息提示
-
-
-* 2022-12-30 v2.6.8
-- 上传组件支持到 PHP 8.2
-- 修复下载任意文件漏洞 [#75](https://github.com/icret/EasyImages2.0/issues/75)
-- 增加自定义底部信息
-- 增加自定义管理提示
-- 增加图床模式
- - 危险:除图片外不验证文件是否正常,也代表可以上传任意指定格式!
-- 增加上传时生成缩略图(仅设置直链缩略图时生效),低配vps负载较大,影响前端上传速度!
-- 其他一些优化
-
-* 2022-09-20 v2.6.7
-- 优化后台显示
-- 增加控制缩略图尺寸
-- 修复启用Opcache带来的问题 [#57](https://github.com/icret/EasyImages2.0/issues/57)
-
-* 2022-07-10 v2.6.6
-- 增加文件uuid命名
-- 界面美化
-
-* 2022-07-10 v2.6.6
-- 增加图片信息显示随机图片
-- 增加文件雪花命名
-- 增加举报入口
-- 更新组件
-
-* 2022-05-27 v2.6.5
-- 更改文件位置
-
-* 2022-05-26 v2.6.4
-- 更改版本显示方式
-
-* 2022-05-26 v2.6.3
-- 增加图片下载
-- 增加简单暗黑模式
-- 增加读取上传日志
-- 增加广场浏览往日限制
- - 有助于防爬虫抓取
-- 增加登陆验证码开关(默认关闭)
-- 删除图片详情页Exif信息
-- 文件管理中图片使用缩略图显示
-- 更改广场->信息中图片长宽获取方式
-
-- 优化图片详情页/广场UI/日志/用户/api 列表
-
-* 2022-05-04 v2.6.2
-- 增加API/用户文件浏览和删除
-- 增加转换webp后也会添加水印
- - 转换成webp后不建议开启水印,会增大图片体积
- - webp水印消耗更多PHP内存,PHP8以上有很大概率失败
-- 更改广场页面返回顶部
-- 优化了管理界面UI
-- 修复一些bug
-
-* 2022-05-03 v2.6.1
-- 增加登陆用户有效期
-- 增加管理员/登陆用户/Token专用目录
-- 增加转换图片格式后压缩图片(不建议同时开启后端压缩)
-- 增加隐藏存储路径(网站域名与图片域名不同且图片域名需绑定到图片目录)
-- 直链缩略图支持bmp,webp
-- 本次更新较大,建议重新安装!
-
-* 2022-04-29 v2.6.0
-- 修复源图缺陷
-- 修复API回收不能还原问题
-- 布局修改
-- 登录页美化
-- 屏蔽登陆页面chrome类浏览器自动填充
-
-* 2022-04-02 v2.5.9
-- 增加安装提示
-- 增加忘记密码提示
-- 增加检测水印图片/水印字体是否存在
-- 修复登陆逻辑
-- 修复广场重复显示图片
-- 修改广场删除/回收样式
-- 调整了广告的位置
-- 调整后台设置分表
-
-* 2022-04-02 v2.5.8
-- 修复在PHP8环境下的bugs
-- 修复删除token产生的bug
-- 更改顶部广告位置
-- 更改广场样式
-
-* 2022-3-30 v2.5.7
-- 增加弹窗公告
-- 恢复文件管理
-- 微调了广场样式
-- 微调了删除文件
-- 删除了base.php
-- 日志记录上传IP端口
-- 日志记录通过API上传的ID
-- 修复管理页面短标签bug [#30](https://github.com/icret/EasyImages2.0/issues/30#issue-1185821542)
-- 修复图片回收中批量删除失败
-- 修复广场预览ico格式文件失败
-- 修复个别浏览器显示二维遮住网页 [#28](https://github.com/icret/EasyImages2.0/issues/28#issue-1180675728)
-- 缩略图最大生成与用户设置最大上传关联
-- 安全检测中检测本地域名改为检测局域网
-
-* 2022-3-13 v2.5.6
-- 修复加密删除后不能正确提示
-- 修复webp转换其他格式失败
-- 修复文字水印透明度不生效
-- 修复jscolor显示不正确
-- 增加原图保护
-- 增加检测版本
-
-* 2022-3-4 v2.5.5
-- 增加设置页面检测是否开启登录上传
-- 将footer固定在底部
-- 移除function_API.php
-- 修复TimThumb不支持bmp格式的bug
-- 修复TimThumb不支持webp动态图片bug
-
-* 2022-2-29 v2.5.4
-- 增加Token有效期
-- 增加回收图片按钮
-- 增加加密删除回收站
-- 修复广场标题
-
-* 2022-2-21 v2.5.3
-- 增加图床数据开放
-- 增加自定义服务条款
-- 升级 Viewer.js 到 v1.10.4
-- 将页面选择记录从cookie改为本地存储
-- 修复实时生成缩略图导致的页面布局异常
-- 优化显示代码
-- 不出意外今年将只修复bug和兼容问题
-
-* 2022-2-19 v2.5.2
-- 增加简繁体转换
-- 增加管理页面记录当前操作页
-- 修复一处暴露路径bug
-
-* 2022-2-13 v2.5.1
-- 增加异步执行鉴黄
-- 取消检测imagick扩展
-- 修复可能导致检测弹窗弹出失败
-
-* 2022-2-7 v2.5.0
-- 修复静态文件调用失败
-
-* 2022-2-6 v2.4.9
-- 修复静态文件引用
-
-* 2022-2-6 v2.4.9
-- 修复flash和silverlight路径引用(>IE9不影响)
-- markdown html alt值改为源文件名
-- 升级jquery-3.4.1至3.6.0
-- 调整了静态文件位置
-
-* 2022-2-5 v2.4.8
-- 调整缩略图内存至128M
-- 修复无可疑图片时显示错误
-- 修复转换为webp时会复制一份bug
-- 修复开启登录上传后无法上传的bug
-- 插件检测的敏感信息转移到管理目录
-- 增加安装时检测.user.ini
-- 增加检测鉴黄接口是否可以正确访问
-- 增加异步处理文件,上传完毕后处理速度变快了
-- 增加 [nsfwjs](https://github.com/infinitered/nsfwjs) 接口方式检测违规图片
- - 作者测试时用的`docker`搭建 `docker`地址:[zengdawei/nsfw_restful_api
-](https://hub.docker.com/r/zengdawei/nsfw_restful_api)
- - 使用注意 程序期望nsfwjs返回json 并且如下格式:
-```json
-[
- {
- "className": "Drawing",
- "probability": 0.824431836605072
- },
- {
- "className": "Hentai",
- "probability": 0.16360442340373993
- },
- {
- "className": "Neutral",
- "probability": 0.007620695047080517
- },
- {
- "className": "Porn",
- "probability": 0.004154415801167488
- },
- {
- "className": "Sexy",
- "probability": 0.00018858206749428064
- }
-]
-```
-- 增加WordPress上大名鼎鼎的实时缩略图生成TimThumb
- - TimeThumb为本图床修改版,会缓存到缓存文件夹方便下次调用
-
-* 2022-1-27 v2.4.7
-- 优化页面排版
-- 更改部分命名
-- 增加后端压缩率
-- 增加可以显示多条公告
-- 增加上传后是否显示删除
-- 增加可以关闭广场/统计导航|页面
-- 调整登录和退出文件位置
-- 调整二维码内容为每个页面
-- 更换验证码库并不再区分大小写
-- 修复一处有概率暴露图片绝对路径的bug
-
-* 2022-1-22 v2.4.6
-- 视图优化
-- 删除重复内容
-- 增加图片信息页面
-- 增加上传黑/白名单
-- 修复因关闭上传日志而导致的无法鉴黄和后端压缩图片
-- 修复安装时更改管理员账号失败
-- 修复更改管理员账户后无法退出
-
-* 2022-1-13 v2.4.5
-- 修复一处权限问题
-- 修复恢复可疑图片
-- 增加复制提示
-- 增加默认上传后首选显示链接
-
-* 2022-1-3 v2.4.5 beta
-- 增加复制提示
-- 更新安装代码
-- 更改前端样式
-- 更新上传格式
-- 重构了密码验证
-- 使用md5存储密码
-- 增加后台设置提示
-- 增加更改网站配色
-- 增加缩略图索引格式
-- 调整后台分类及位置
-- 增加在线修改账号密码
-- 增加以源文件名称命名
-- 增加缩略图两种生成方式和开关
-- 修复开启前端压缩导致的上传图片异常
-- 屏蔽因缺少PHP扩展而不能生成缩略图的格式
-
-* 2021-12-25 v2.4.4
-- 更改favicon.ico
-- 修复缩略图数量统计
-- 增加缩略图生成开关
-- 日志增加更多文件信息
-- 前端增加裁剪和压缩质量
-- 上传失败将会输出更多信息
-- 修复前端压缩图片不能关闭问题
-- 修复上传设置中错误和页面显示
-- 调整网站设置->上传设置的排序
-- 将快捷操作中心转移到网站设置中
-- 修复因生成缩略图导致的前端数据返回失败
-- 增加简单图床chrome浏览器插件,可自行配置网站->[EasyImage-Browser-Extension](https://github.com/icret/EasyImage-Browser-Extension)
-
-* 2021-11-17 v2.4.3
-- 增加登录验证码
-- 二级目录安装
-- 一些优化
-
-* 2021-11-14 v2.4.2
-- 增加上传日志
-
-* 2021-11-12 v2.4.1
-- 增加缓存周期配置
-- 增加上传统计
-- 增加viewjs
-- 更新依赖件
-- 修复统计错误
-
-* 2021-11-9 v2.4.0
-- 增加统计缓存
-- 增加最近30天上传统计与占用空间图表
-- 增加初始化安装(可能会不支持二级目录安装,可删除install文件夹初始化)
-- 增加在线编辑配置(之前是需要修改config.php文件,现在可以直接网站端修改了)
-- 删除广场会导致浏览速度变慢的代码
-- 删除快捷配置会导致浏览速度变慢的代码
-
-* 2021-11-3 v2.3.2
-- 增加广场图片缓存
-- 重构广场样式
-
-* 2021-11-3 v2.3.1
-- 增加监黄接口
-- 增加审核违规图片
-- 修复对php5.6的支持
-- 修复二级目录的安装
-
-* 2021-10-24 v2.3.0
-- 将服务器环境监测改为第一次打开时自动检测(如需再次展示需删除config目录下的EasyImage.lock)
-- 增加快捷操作中心显示服务信息
-- 增加对上传文件的命名方式(详见config.php文件里的注释)
-- 增加隐私政策、服务条款、DMCA
-- 增加自定义静态文件CDN源
-- 增加dns-prefetch
-- 删除了tinyfilemanager文件管理(感觉没什么用)
-- 一些bug得以修复
-
-* 2021-5-22 v2.2.0
-- 增加根目录静态属性
-- 增加浏览页面懒加载
-- 增加浏览页面启用选定日期查看图片
-- 增加版本检测 ***每月10日06点和25日01点检测Github是否更新***
-- 增加上传压缩 ***此压缩有可能使图片变大!特别是小图片 也有一定概率改变图片方向***
-- 增加批量压缩目录 ***TinyPng或本机压缩,本机压缩出现的问题***
-- 修复title
-- 修复二级目录安装
-- 修复对PHP5.6的兼容 ***建议使用php7.0及以上!***
-
-* 2021-5-8 v2.1.1
-- 修复上传界面上传失败提示信息bug
-- 浏览页面重构
-- 删除页面添加登录删除
-- 调整首页显示
-- 将调整图片长宽放置前端,减小资源开销
-- 其他小调整
-
-* 2021-5-2 v2.1
-- 将tinyfilemanager配置文件简单翻译并集成到config.php
-- 增加底部自定义信息
-- 增加检测PHP环境,给与提示
-- 增加删除图片url(服务器不会保存删除链接)
-- 恢复随机浏览20张上传图片 可以设定浏览数量和关闭浏览
-- - 随机浏览图片可以在线删除
-- 可以使用 https://png.cm/libs/list.php?num=100 定义浏览数量
-- 修复一些调用
-- 更改二维码显示方式
-- 开启api 需要token验证上传
-- 重构并修复check.php相关文件
-- 重构部分代码
-- 更改目录结构
-- 增加安全性配置
-- * Apache配置文件默认设置上传目录不可运行
-
-```Apache
-RewriteEngine on RewriteCond % !^$
-RewriteRule i/(.*).(php)$ – [F]
-RewriteRule public/(.*).(php)$ – [F]
-RewriteRule config/(.*).(php)$ – [F]
-```
-
-- * Nginx请在Nginx配置:
-
-```Nginx
- # 禁止运行php的目录
- location ~* ^/(i|public|config)/.*\.(php|php5)$
- {
- deny all;
- }
-```
-- - 或者参考:https://blog.png.cm/939.html
-- 一些精简
-
-* 2021-4-14 v2.0.2.1 Dev1
-- 更新静态文件版本
-- 请所有更新过2.0.2.1版本升级到此版本
-- 更改一些描述
-- md5提交登录验证
-- 登录上传也显示公告
-
-* 2021-03-28 v2.0.2.1
-- 更新管理程序,修复部分漏洞
-- 修复不能等比例缩小图片
-- 支持php8
-
-* 2019-6-26 v2.0.2.0
-- 精简压缩代码,使得不再压缩后反而变大
-- 删除异域上传功能,不再支持异域上传
-- 修复开启登录后无法粘贴密码
-- 后台控制上传数量,上传格式
-- 其他一些优化
-
-* 2019-6-14 v2.0.1.9
-- 增加复制链接按钮
-- 增加暂停上传按钮
-- 增加QQ截图,剪切板上传
-- 增加文字/图片水印透明度
-- 恢复开启/关闭api上传
-- 恢复支持水印文字颜色
-- 恢复支持远程上传图片
-- 修复安装时候的权限
-- 修复管理无法多选的问题
-- 修复上传透明png背景变为纯黑的问题
-- 修复成功上传图片但前端无法获取链接
-- 修复在centos64 lnmp1.6 php7.1环境下的图片信息读取问题
-- 修改图片压缩方式,速度更快,相比之前提高5倍以上
-- 更改管理路径
-- 更改上传路径,文件名更短
-- 更改上传显示方式为缩略图
-- 关闭添加图片后自动上传
-- 纪念一下2019年,将版本号改为2.0.1.9
-
-* 2019-5-23 v2.0
-- 在继承上个版本(1.6.4)的基础上进行了全新优化
-- 修复上传经常失败的问题
-- 删除一些不常用但会增加功耗的过程
-- 全新的压缩 将文件继续缩小
-- 全新的目录系统,精简代码
-- 设置仅允许在config.php修改,注释更加明了,即使没有代码基础也可以操作
-- 增加新的文件管理系统,感谢 tinyfilemanager
-- ~~支持文字/图片水印 可自定义文字颜色~~
-- ~~支持文字水印背景颜色~~
-- ~~支持文字水印透明度~~
-- ~~支持删除远程上传文件~~ -> 不再支持删除远程文件
-- ~~(支持开启/关闭api自定义文字水印)~~
-- ~~支持删除自定义删除图片(仅管理员)~~
-
-
-与1.6.4版本差别
-
-##### 不建议再使用 [EasyImage 1.6.4版本](https://github.com/icret/easyImages)
-
-- 在继承上个版本([1.6.4](https://github.com/icret/easyImages "1.6.4"))的基础上进行了全新优化
-- 修复上传经常失败的问题
-- 删除一些不常用但会增加功耗的过程 (删除的在下边会有标记)
-- 全新的压缩 将文件继续缩小
-- 全新的目录系统,精简代码
-- 设置仅允许在config.php修改,注释更加明了,即使没有代码基础也可以操作
-- 增加新的文件管理系统,感谢 tinyfilemanager
-- ~~支持文字/图片水印 可自定义文字颜色~~
-- ~~支持文字水印背景颜色~~
-- ~~支持文字水印透明度~~
-- ~~支持删除远程上传文件~~ -> 不再支持删除远程文件
-- ~~(支持开启/关闭api自定义文字水印)~~
-- ~~支持删除自定义删除图片(仅管理员)~~
-
-
-
- ## 支持开发者
-
- | 支付宝支持 | 微信支持 |
- | :---------------------------------------: | :-------------------------------------: |
- |  |  |
-
## 界面演示
- 
- 
- 
- 
- 
- 
+ 
+ 
+ 
+ 
+ 
+ 
-
-## 兼容
+## 环境要求
+> 推荐环境:Nginx + PHP≥7.0 + linux
- - 最低`PHP 5.6`,推荐`PHP≥7.0`及以上版本,需要PHP支持`Fileinfo,iconv,zip,mbstring,openssl`扩展,如果缺失会导致无法上传/删除图片
- - 文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要`HTML5`支持)来添加上传文件,支持上传大图片,优先使用`HTML5`旧得浏览器自动使用`Flash和Silverlight`的方式兼容
+- ##### 兼容
+
+ >最低`PHP 5.6`,推荐`PHP≥7.0`及以上版本,需要PHP支持`Fileinfo,iconv,zip,mbstring,openssl`扩展,如果缺失会导致无法上传/删除图片
+ 文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要`HTML5`支持)来添加上传文件,支持上传大图片,优先使用`HTML5`旧得浏览器自动使用`Flash和Silverlight`的方式兼容
## 鸣谢
- - [verot](https://github.com/verot/class.upload.php "verot" )
- - [ZUI](https://github.com/easysoft/zui "ZUI" )
+- [verot](https://github.com/verot/class.upload.php "verot" )
+- [ZUI](https://github.com/easysoft/zui "ZUI" )
## 开源许可
- [GPL-2.0](https://github.com/icret/EasyImages2.0/blob/master/LICENSE)
- - Copyright © 2018 EasyImage dev By [Icret](https://github.com/icret)
-
- * have fun!
+ - Copyright © 2018 EasyImage Developer By [Icret](https://github.com/icret)
-[](https://png.cm)
-[](https://github.com/icret/EasyImages2.0/stargazers)
+* have fun!
+
+[](https://github.com/icret/EasyImages2.0/stargazers)
\ No newline at end of file
diff --git a/admin/admin.inc.php b/admin/admin.inc.php
index b0d121b..fad3097 100755
--- a/admin/admin.inc.php
+++ b/admin/admin.inc.php
@@ -11,19 +11,38 @@ require_once APP_ROOT . '/config/config.guest.php';
if (!is_who_login('admin')) {
echo '
';
header("refresh:2;url=" . $config['domain'] . "/admin/index.php");
require_once APP_ROOT . '/application/footer.php';
exit;
}
+// 定义文件位置
+$config_file = APP_ROOT . '/config/config.php'; // config.php
+$api_key_file = APP_ROOT . '/config/api_key.php'; // api_key.php
+$guest_config_file = APP_ROOT . '/config/config.guest.php'; // config.guest.php
+
+
// 修改config配置
if (isset($_POST['update'])) {
$postArr = $_POST;
+
+ if (isset($postArr['user'])) {
+ if ($postArr['user'] == $guestConfig[$postArr['user']])
+ echo '
+
+ ';
+ exit(header("refresh:1;"));
+ }
+
$new_config = array_replace($config, $postArr);
- $config_file = APP_ROOT . '/config/config.php';
cache_write($config_file, $new_config);
echo '
+
';
header("refresh:1;url=/admin/admin.inc.php");
}
@@ -130,8 +145,7 @@ if (isset($_GET['stop_guest'])) {
// 删除用户
if (isset($_GET['delete_guest'])) {
unset($guestConfig[$_GET['delete_guest']]);
- $config_file = APP_ROOT . '/config/config.guest.php';
- cache_write($config_file, $guestConfig, 'guestConfig');
+ cache_write($guest_config_file, $guestConfig, 'guestConfig');
echo '
+ ';
+ exit(header("refresh:3;"));
+ }
+ $postArr = array('user' => $postArr['user'], 'password' => $postArr['password']);
+
+ $new_config = array_replace($config, $postArr);
+ cache_write($config_file, $new_config);
+ echo '
+
+ ';
+ header("refresh:1;");
+}
+
// 添加上传账号 修改config.guest.php
if (isset($_POST['uploader_form'])) {
// 禁止与管理员登录名相同
if ($_POST['uploader_user'] == $config['user']) {
echo '
';
- exit(header("refresh:1;"));
+ exit(header("refresh:3;"));
}
// 写入上传者用户数据
$postArr = array(
@@ -166,8 +209,7 @@ if (isset($_POST['uploader_form'])) {
)
);
$new_config = array_replace($guestConfig, $postArr);
- $config_file = APP_ROOT . '/config/config.guest.php';
- cache_write($config_file, $new_config, 'guestConfig');
+ cache_write($guest_config_file, $new_config, 'guestConfig');
echo '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+