php 一个开源图床,非常强大的压缩率 压缩可选

php 一个开源图床,非常强大的压缩率 压缩可选-安然源码网
php 一个开源图床,非常强大的压缩率 压缩可选
此内容为免费资源,请登录后查看
R0
免费资源

介绍:

图床网站源码是一款专为个人需求设计的高效图床解决方案,集成了强大的图片压缩功能与优雅的前台后台管理界面。

项目结构精简高效,提供自定义图片压缩率与尺寸设置,有效降低存储与带宽成本。

支持上传JPEG、PNG、GIF格式图片并转换为WEBP格式,支持上传SVG、WEBP图片。

支持本地储存,OSS储存,S3存储。可通过把储存桶挂载到本地的方式解锁更多储存方式。

简洁美观的前端,支持点击、拖拽、粘贴、URL、批量上传。

瀑布流管理后台,便捷管理图片,支持图片灯箱、AJAX无加载刷新。

支持自定义压缩率,默认60,可自定义修改。支持修改每日上传限制,单次上传限制

本项目由几个简单的文件组成。采用简单高效的方式进行图片压缩,支持自定义压缩率和尺寸。

帮助大家减少图片储存、流量等方面的支出。

如果需要更换存储策略,需安装后修改config.ini文件

源码安装教程

首先下载源码ZIP,将文件上传到网站根目录,访问网址 ,填写相关信息,即可完成安装。

运行环境:推荐PHP 7.2 + MySQL >= 5.6

本程序依赖PHP的 Fileinfo 、 Imagick 拓展,需要自行安装。依赖 pcntl 扩展(宝塔PHP默认已安装)

要求 pcntl_signal 和 pcntl_alarm 函数可用(需主动解除禁用)。

配置信息安全

设置如下 nginx 规则

1
2
3
location ~* /config\.ini$ {
deny all;
}

上传限制

编辑 config/validate.php 文件。同步修改static/js/script.js的头部内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
// 设置参数
$maxUploadsPerDay = 50; // 每天最多上传50次
$maxFileSize = 5 * 1024 * 1024; // 文件大小限制 5MB 修改这里同步修改 script.js
function isUploadAllowed($maxUploadsPerDay) {
$cookieName 'upload_count';
$currentDate date('Y-m-d');
if (isset($_COOKIE[$cookieName])) {
$uploadCounts = json_decode($_COOKIE[$cookieName], true);
if ($uploadCounts['date'] === $currentDate) {
if ($uploadCounts['count'] >= $maxUploadsPerDay) {
return '上传次数过多,请明天再试';
}
$uploadCounts['count']++;
else {
$uploadCounts = [
'date' => $currentDate,
'count' => 1
];
}
else {
$uploadCounts = [
'date' => $currentDate,
'count' => 1
];
}
// 设置 Cookie,过期时间为一天
setcookie($cookieName, json_encode($uploadCounts), time() + 86400, "/");
return true;
}
$uploadCheck = isUploadAllowed($maxUploadsPerDay);
if ($uploadCheck !== true) {
echo json_encode(['error' => $uploadCheck]);
exit();
}
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['image'])) {
$file $_FILES['image'];
if ($file['size'] > $maxFileSize) {
$maxFileSizeMB $maxFileSize / (1024 * 1024);
echo json_encode(['error' => '文件大小超过限制,最大允许 ' $maxFileSizeMB 'MB']);
exit();
}
echo json_encode(['success' => '文件上传成功']);
else {
echo json_encode(['error' => '无效的请求']);
}
?>

修改后台地址

直接修改 admin 目录名即可

php 一个开源图床,非常强大的压缩率 压缩可选

    本站内容均转载于互联网,并不代表本站立场!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理! 拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!
    THE END
    喜欢就支持一下吧
    点赞12赞赏 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容