ImgURL是一款简单、纯粹的图床程序,使用PHP + SQLite 3开发,不需要复杂的配置,做到开箱即用。
环境要求
PHP >= 5.6
需要exif函数支持
SQLite 3
主要功能
支持拽拖上传,一键生成链接、一键复制
支持限制访客上传数量
图片压缩
图片鉴黄识别
安装
具体过程如下:
1.访问:https://github.com/helloxz/imgurl/archive/master.zip下载最新版ImgURL程序,放到您的站点根目录并解压。
2.访问http(s)://domain.com/install.php根据提示完成安装。



安全设置
1.配置完毕后测试功能没问题,请删除根目录的check.php
2.Apache默认已经通过.htaccess文件来屏蔽数据库下载
3.Nginx用户请在server段内添加如下配置,并重启Nginx
location ~* \.(db3)$ {
deny all;
}
ImgURL升级
查看当前版本号
在后台 - 系统设置 - 关于查看当前版本号。

特别提醒: 升级之前一定要查看自己的版本号,依次进行升级,不要跨版本升级,以免出现问题。升级前务必做好备份。
老版本升级为新版本
2018-04-31之前的均为老版本,升级新版方法如下:
备份upload和temp目录
清空当前目录,下载新版本 master.zip 解压并安装。
将备份好的upload和temp目录拷贝回来进行覆盖
这样能够保证之前的图片继续访问,但是以前的图片无法再进行管理操作。
v1.0升级为v1.1
2018-05-04发布了v1.1
版本,可以在后台 - 系统设置 - 关于,查看当前版本。如果您是v1.0版本,请按照此方法升级。

1.备份好当前数据、备份好当前数据、备份好当前数据,比如您当前程序所在目录为test.imgurl.org
,可以先将其更名备份。
mv test.imgurl.org test.imgurl.org.bak
2.创建新的目录,并下载v1.1的程序进行解压,流程如下:
#创建目录
mkdir test.imgurl.org
#进入目录
cd test.imgurl.org
#下载imgurl v1.1
wget https://github.com/helloxz/imgurl/archive/v1.1.tar.gz
#解压
tar -zxvf v1.1.tar.gz
#移动文件
mv imgurl-1.1/* ./
#从备份目录拷贝覆盖
cd ..
cp -a test.imgurl.org.bak/config.php test.imgurl.org/
cp -a test.imgurl.org.bak/upload test.imgurl.org/
cp -a test.imgurl.org.bak/temp test.imgurl.org/
cp -a test.imgurl.org.bak/db test.imgurl.org/
#记得重新设置权限
chown -R www:www test.imgurl.org
3.简单点说就是要先备份config.php
upload
temp
db
,然后下载v1.1程序,从拷贝原来的这几个目录进行覆盖。
4.最后访问http(s)://domain.com/upgrade.php?v=1.1
升级一下数据库,大功告成!

v1.1升级为v1.2
备份config.php/db/temp/upload
下载v1.2的程序覆盖
再将config.php/db/temp/upload拷贝回来覆盖即可
v1.2升级v1.3
备份config.php/db/temp/upload
下载v1.3的程序解压覆盖
再将config.php/db/temp/upload拷贝回来覆盖即可
使用油猴脚本(Tamper monkey)在任意网页上传图片
安装Tamper monkey扩展
ImgURL脚本可以帮助我们在任意网页将图片上传到ImgURL,不过需要Tamper monkey扩展的支持,可直接访问:Google商店(https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo) 安装Tamper monkey并启用(需要自备梯子)
安装ImgURL提供的脚本
启用Tamper monkey扩展后继续访问ImgURL上传脚本(https://greasyfork.org/zh-CN/scripts/372034-imgurl%E4%B8%8A%E4%BC%A0%E8%84%9A%E6%9C%AC) 点击按钮安装并启用脚本

上传图片
脚本安装成功后,不论在何时、何地,甚至不用打开ImgURL官方地址,直接在任意网页右下角会出现一个图片按钮,点击这个按钮即可将本地图片上传到ImgURL或sm.ms。
启用TinyPNG压缩图片
TinyPNG提供了优秀的图片压缩服务,并且提供API支持,普通用户有500次/月的限制,不过ImgURL可以填写多个TinyPNG KEY,让API次数得到叠加以压缩更多图片。
申请TinyPNG API
访问 https://tinypng.com/ 官网注册账号,并获取自己的API KEY

打开config.php
填写自己的TinyPNG API key保存即可。(支持异步压缩图片,不影响上传速度),配置文件示例如下:
// TinyPNG压缩图片
$tinypng = array(
"option" => true,
"key" => array(
"xxx", //支持填写多行key
"xxx" //如果只有一个key,请删除此行,注意最后一行没有逗号(,)
)
);
启用图片鉴黄识别
ImgURL使用 https://www.moderatecontent.com 提供的API来识别图片,因此您需要先访问Moderate Content并获取API KEY.
修改配置文件
打开config.php
,填写自己的Moderate Content KEY
//ModerateContent 图片鉴黄
$ModerateContent = array(
"option" => true,
"key" => "xxx"
);
option : 如果为true表示启用Moderate Content鉴黄识别,则必须配置key,如果为false则不启用。
key:您在Moderate Content申请的KEY
注意事项
Moderate Content无法做到100%准确,因此图片不会删除,而是标记为可疑图片等待管理员处理。
不会对管理员上传的图片进行鉴黄识别。
如果是国内主机,请求接口速度较慢,可能会出现失败的情况。
上传测试
开启后上传一张H图测试,如果提示如下说明配置成功。

如果是违规图片,可以在后台可疑图片查看到。

修改上传大小
ImgURL默认限制2M上传大小,您可以通过如下方法修改限制。
打开/functions/upload.php
找到如下代码:
$handle->file_max_size = '2097152';
单位为字节,自行修改即可。为了保证上传稳定性,不建议超过10M
继续打开static/embed.js
找到下面这一行进行修改
,size: 2048
ImgURL API 说明
ImgURL v1.3版本开始支持API上传,您可以通过API将图片上传至ImgURL,使用说明如下。
接口说明
说明 | 上传图片接口 |
---|---|
请求方式 | POST |
限制 | 游客每天限制上传10张,单张图片不得超过5M |
请求地址 | https://imgurl.org/functions/api.php |
请求参数
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
imgfile | File | 是 | 表单名称,上传图片使用,文件类型必须是图片。 |
请求成功返回的数据
默认情况返回json数据,格式如下:
{"code":1,"id":"102","url":"http:\/\/localhost\/imgurl\/temp\/1809\/62ad5f9f09bddc35.jpg","width":200,"height":200}
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
code | int | 1 | 返回状态码,1为成功,0为失败。 |
id | int | 102 | 返回图片唯一ID |
url | String | http://localhost/imgurl/temp/1809/62ad5f9f09bddc35.jpg | 图片完整地址 |
width | int | 200 | 图片宽度(px),如果为0说明这种图片之前已经上传过。 |
height | int | 200 | 图片高度(px),如果为0说明这种图片之前已经上传过。 |
请求失败
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
code | int | 0 | 返回状态码,0为失败。 |
msg | String | 请求上限! | 返回失败的具体原因。 |
演示代码
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>ImgURL上传测试</title>
<meta name="generator" content="EverEdit" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<form enctype="multipart/form-data" method="post" action="http://test.imgurl.org/functions/api.php" id="upform">
<input type="file" name="file" id="file" class="up-file">
<input type="submit" id="btn" value="开始上传" class="btn">
</form>
</body>
</html>
其他说明
如果需要直接返回上传后的URL地址,接口地址添加?type=url
参数即可。
注:以上文章转自https://www.xiaoz.me
Be First to Comment