EasyImages2.0-master无数据库的自用图床源码
简介
始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序 演示地址:https://img.infatuation.top/ 之前一直用的图床程序是:PHP多图长传程序2.4.3 由于版本过老并且使用falsh上传,在当前html5流行大势所趋下,遂利用基础知识新写了一个以html5为默认上传并且支持flash,向下兼容至IE9。
功能介绍
- 支持仅登录后上传
- 支持设置图片质量
- 支持文字/图片水印
- 支持设置图片指定宽/高
- 支持上传图片转换为指定格式
- 支持限制最低宽度/高度上传
- 支持API
- 在线管理图片
- 支持网站统计
- 支持设置广告
- 支持图片鉴黄
- 支持自定义代码
- 支持上传IP黑白名单
- 支持创建仅上传用户
- 更多支持请安装尝试···
安装
推荐环境:Nginx + PHP≥7.0 + linux
windows:
Linux:
-
git clone https://github.com/icret/EasyImages2.0.git
至web目录 -
赋予web目录www:www和0755权限:
chmod 755 -R /web目录 chown -R www:www /web目录
BT宝塔面板:
- 安装环境 Ngixn(推荐) / Apache + PHP(推荐≥7.0)
- 软件商店搜索
简单图床
一键部署
常见问题
- 请将所有文件赋予
0755
和www
权限 - 对
PHP
不太熟悉的请不要将图床程序放置于二级目录 - 请关闭防跨站或删除域名文件夹内的
user.ini
文件 如宝塔面板
|军哥lnmp
- 网站域名与图片域名必须填写,如果只有一个域名请填写成一样的
- 首次使用会执行安装程序并生成
install.lock
跳过安装流程请删除install
目录 - 首次访问首页会检查环境并在
config
目录下生成EasyImage.lock
- 可以使用谷歌浏览器的调试模式查看错误
F12->console
upload File size exceeds the maximum value
调整PHP
上传大小undefined function imagecreatefromwebp()
GD没安装webp, 以此类推Warning: is_dir(): open_basedir restriction in effect
解决方法同3
- 无法上传/访问/不显示验证码: 1. 权限问题见问题
1
2. CDN缓存了 3. 开防火墙了 Fatal error: Allowed memory size......
主机内存或分配给PHP的内存不够 解决方法百度- 开启原图保护功能后打开图片链接显示
404
是因为nginx
或Apache
页面缓存导致的,Nginx
解决办法:
# 把Nginx这段配置删掉
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
API上传
- 需要开启图床安全->API上传示例
<form action="http://127.0.0.1/api/index.php" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*">
<input type="text" name="token" placeholder="在tokenList文件找到token并输入" /> <input type="submit" />
</form>
- 上传成功后返回JSON
{
"result": "success",
"code": 200,
"url": "http://127.0.0.1/i/2022/05/03/vfyjtq-0.png",
"srcName": "2532516028",
"thumb": "http://127.0.0.1/application/thumb.php?img=/i/2022/05/03/vfyjtq-0.png",
"del": "http://127.0.0.1/application/del.php?hash=ZnVzYlZEM0dJUWhiQ2UzVVVsK1haMG5nNk92K0d3Q3JldjMyWlF5bHFxcz0="
}
程序升级
- 备份
config
目录(没有增加上传用户和api可以只保留config.php
文件)和上传文件目录
- 将新程序下载至网站目录解压覆盖,然后将备份的文件替换既完成升级
- 如果出现错误请在设置中把所有设置中底部按钮
保存
一次
安全配置
- Apache环境在上传目录添加配置文件
.htaccess
使上传目录不可运行PHP程序(默认已经存在)
<FilesMatch "\.(?i:php|php3|php4|php5)">
Order allow,deny
Deny from all
</FilesMatch>
- Nginx环境禁止多个目录运行
PHP
程序:
# "i|public"是你要禁止的目录 放到listen段落之后才生效
location ~* ^/(i|public)/.*\.(php|php5)$
{
deny all;
}
- Lighthttpd环境禁止多个目录运行
PHP
程序:
$HTTP["url"] =~ "^/(i|public)/" {
fastcgi.server = ()
}
鉴黄
图床支持moderatecontent和nsfwjs方式鉴黄
-
moderatecontent:
- 注册moderatecontent并获取Token
- 后台API设置中填入Moderate Key
- 后台图片安全图片鉴黄以moderatecontent方式
-
nsfwjs nsfwjs docker
- 确定已安装
docker
和docker-compose
- 拉取镜像
docker pull icret/nsfw_restful_api:latest
或者直接docker run -p 3307:3307 -d icret/nsfw_restful_api
- 后台API设置中填入网址 比如:
http://IP:3307/api/nsfw/classify?url=
- 后台图片安全图片鉴黄以nsfwjs方式
- 如果你使用别的nsfwjs api,必须返回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
}]
兼容
- 最低
PHP 5.6
,推荐PHP≥7.0
及以上版本,需要PHP支持Fileinfo,iconv,zip,mbstring,openssl
扩展,如果缺失会导致无法上传/删除图片 - 文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要
HTML5
支持)来添加上传文件,支持上传大图片,优先使用HTML5
旧得浏览器自动使用Flash和Silverlight
的方式兼容
下载
来源:蓝奏云 | 提取码:xuan
版权声明:
作者:轩轩不吃鱼.
链接:https://www.infatuation.top/24.html
来源:天玑资源网
文章版权归作者所有,未经允许请勿转载。
作者:轩轩不吃鱼.
链接:https://www.infatuation.top/24.html
来源:天玑资源网
文章版权归作者所有,未经允许请勿转载。
THE END