PixPro一个高效、简洁的图片图床上传系统源码
一个高效、简洁的图片上传系统,支持多种存储方式,包括本地存储、阿里云OSS、S3存储、又拍云存储,另可通过挂载扩展更多存储方式特性🚀 高效压缩 - 集成强大的图片压缩功能,支持自定义压缩率,提升图片加载速度🌐 多种格式 - 支持多种图片格式,包括 JPEG、PNG、GIF、WebP、SVG 等,支持输出原格式、WebP、AVIF格式💾 多种存储 - 支持本地存储、阿里云OSS、S3存储、又拍云存储,另可通过挂载扩展更多存储方式🎨 优雅界面 - 简洁美观的前端界面,支持拖拽上传、粘贴上传等多种上传方式📊 便捷管理 - 瀑布流后台布局,支持图片灯箱预览和AJAX无感刷新安装说明下载最新版本源码上传到网站根目录访问网站,根据向导完成安装. 伪静态配置添加以下重写规则到你的 Nginx 配置或伪静态配置中:location / {
if (!-e $request_filename) {
rewrite ^/api/v1/upload$ /api.php last;
}
}上传限制编辑config/validate.php文件。同步修改static/js/script.js的头部内容<?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)) {
$uploadCounts = json_decode($_COOKIE, true);
if ($uploadCounts === $currentDate) {
if ($uploadCounts >= $maxUploadsPerDay) {
return '上传次数过多,请明天再试';
}
$uploadCounts++;
} 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();
exit();
}
if ($_SERVER === 'POST' && isset($_FILES)) {
$file = $_FILES;
if ($file > $maxFileSize) {
$maxFileSizeMB = $maxFileSize / (1024 * 1024);
echo json_encode();
exit();
}
echo json_encode();
} else {
echo json_encode();
}
?>