更新 index.php

加入多用户管理。
This commit is contained in:
sunson 2024-12-03 12:45:32 +08:00
parent d831c5c0de
commit d948a693ba

View File

@ -1,11 +1,14 @@
<?php <?php
$base_dir='/o/';//以/即结束即可 $base_dir = '/o/';//以/即结束即可
$user="chate.store";// 用户名 $user = array("admin1","admin2");// 用户名,可多个
$pwd="123456";// 密码,请记得频繁更换 $pwd = array("chate.store1","chate.store2");// 密码,跟用户一一对应,请记得更换
$authorization = false; $authorization = false;
if ($_SERVER['PHP_AUTH_USER'] == $user && $_SERVER['PHP_AUTH_PW'] == $pwd){ $key = array_search($_SERVER['PHP_AUTH_USER'], $user);
if($key !== false){
if($_SERVER['PHP_AUTH_PW'] ==$pwd[$key]){
$authorization = true; $authorization = true;
}
} }
if(!$authorization){ if(!$authorization){
// 没登录成功,弹出要求输入用户名和密码窗口 // 没登录成功,弹出要求输入用户名和密码窗口
@ -171,7 +174,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
</style> </style>
</head> </head>
<body> <body>
<div class="background" id="background"></div> <div class="background" id="background"></div>
<div class="container"> <div class="container">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
@ -179,8 +182,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
<h6 class="card-title text-center" style="font-weight: bold;">简单就是美。</h6> <h6 class="card-title text-center" style="font-weight: bold;">简单就是美。</h6>
<form id="uploadForm" enctype="multipart/form-data"> <form id="uploadForm" enctype="multipart/form-data">
<div class="mb-3"> <div class="mb-3">
<label for="files" class="form-label"></label> <label for="files" class="form-label"></label>
<input type="file" class="form-control" id="files" name="files[]" multiple accept="image/jpeg, image/png, image/gif, image/webp, image/avif" required> <input type="file" class="form-control" id="files" name="files[]" multiple accept="image/jpeg, image/png, image/gif, image/webp, image/avif" required>
</div> </div>
<button type="submit" class="btn btn-primary w-100" style="font-weight: bold;">开始上传</button> <button type="submit" class="btn btn-primary w-100" style="font-weight: bold;">开始上传</button>
</form> </form>
@ -200,12 +203,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
</div> </div>
</div> </div>
<script> <script>
async function setBackgroundImages() { async function setBackgroundImages() {
const images = ['https://cn.bing.com/th?id=OHR.SnowMoose_EN-US6949674639_1920x1080.jpg','https://cn.bing.com/th?id=OHR.IcebergsAntarctica_EN-US6829804691_1920x1080.jpg','https://cn.bing.com/th?id=OHR.KilchurnAutumn_EN-US6737063910_1920x1080.jpg','https://cn.bing.com/th?id=OHR.MtStMichel_EN-US6641012356_1920x1080.jpg','https://cn.bing.com/th?id=OHR.TomTurkeys_EN-US6212893518_1920x1080.jpg']; // 取必应每天的壁纸做背景
const backgroundDiv = document.getElementById('background'); var response = await fetch('https://raw.onmicrosoft.cn/Bing-Wallpaper-Action/main/data/zh-CN_all.json');
var data = await response.json();
var images = data.data.map(image => image.url);
var backgroundDiv = document.getElementById('background');
if (images.length > 0) { if (images.length > 0) {
backgroundDiv.style.backgroundImage = 'url(' + images[0] + ')'; backgroundDiv.style.backgroundImage = 'url(https://www.bing.com/' + images[0] + ')';
} }
let index = 0; let index = 0;
let currentBackgroundDiv = backgroundDiv; let currentBackgroundDiv = backgroundDiv;
@ -213,19 +218,22 @@ async function setBackgroundImages() {
const nextIndex = (index + 1) % images.length; const nextIndex = (index + 1) % images.length;
const nextBackgroundDiv = document.createElement('div'); const nextBackgroundDiv = document.createElement('div');
nextBackgroundDiv.className = 'background next'; nextBackgroundDiv.className = 'background next';
nextBackgroundDiv.style.backgroundImage = 'url(' + images[nextIndex] + ')'; nextBackgroundDiv.style.backgroundImage = 'url(https://www.bing.com/' + images[nextIndex] + ')';
document.body.appendChild(nextBackgroundDiv); document.body.appendChild(nextBackgroundDiv);
nextBackgroundDiv.style.opacity = 0; nextBackgroundDiv.style.opacity = 0;
setTimeout(() => { setTimeout(() => {
nextBackgroundDiv.style.opacity = 1; nextBackgroundDiv.style.opacity = 1;
}, 50); }, 50);
setTimeout(() => { setTimeout(() => {
document.body.removeChild(currentBackgroundDiv); document.body.removeChild(currentBackgroundDiv);
currentBackgroundDiv = nextBackgroundDiv; currentBackgroundDiv = nextBackgroundDiv;
index = nextIndex; index = nextIndex;
if(index>10)index=0;// 只取前十张
}, 1000); }, 1000);
}, 5000); }, 5000);
} }
$(document).ready(function() { $(document).ready(function() {
setBackgroundImages();// 设置背景 setBackgroundImages();// 设置背景
// 初始化时显示格式提示 // 初始化时显示格式提示
@ -293,35 +301,35 @@ $(document).ready(function () {
var startTime; var startTime;
xhr.upload.addEventListener('progress', function (evt) { xhr.upload.addEventListener('progress', function (evt) {
if (evt.lengthComputable) { if (evt.lengthComputable) {
if (!startTime) startTime = new Date(); if (!startTime) startTime = new Date();
var percentComplete = Math.round((evt.loaded / evt.total) * 100); var percentComplete = Math.round((evt.loaded / evt.total) * 100);
var elapsedTime = (new Date() - startTime) / 1000; var elapsedTime = (new Date() - startTime) / 1000;
var speed = (evt.loaded / 1024 / 1024) / elapsedTime; var speed = (evt.loaded / 1024 / 1024) / elapsedTime;
var fileRow = $('#file-row-' + fileIndex); var fileRow = $('#file-row-' + fileIndex);
fileRow.find('.progress-status').text(` ${speed.toFixed(2)} MB/s`); fileRow.find('.progress-status').text(` ${speed.toFixed(2)} MB/s`);
fileRow.find('.progress').show(); fileRow.find('.progress').show();
fileRow.find('.progress-bar').css('width', percentComplete + '%').text(percentComplete + '%'); fileRow.find('.progress-bar').css('width', percentComplete + '%').text(percentComplete + '%');
var container = $('#fileList'); var container = $('#fileList');
var targetRow = $('#file-row-' + fileIndex); var targetRow = $('#file-row-' + fileIndex);
var targetTop = targetRow[0].offsetTop; var targetTop = targetRow[0].offsetTop;
var containerHeight = container.height(); var containerHeight = container.height();
var rowHeight = targetRow.outerHeight(); var rowHeight = targetRow.outerHeight();
var scrollTo = targetTop - (containerHeight / 1) + (rowHeight / 2); var scrollTo = targetTop - (containerHeight / 1) + (rowHeight / 2);
scrollTo = Math.max(0, Math.min(scrollTo, container[0].scrollHeight - containerHeight)); scrollTo = Math.max(0, Math.min(scrollTo, container[0].scrollHeight - containerHeight));
container.stop().animate({ scrollTop: scrollTo }, 200); container.stop().animate({ scrollTop: scrollTo }, 200);
if (percentComplete === 100) { if (percentComplete === 100) {
setTimeout(function () { setTimeout(function () {
if (xhr.readyState !== XMLHttpRequest.DONE) { if (xhr.readyState !== XMLHttpRequest.DONE) {
fileRow.find('.progress-status').text('处理中请稍等'); fileRow.find('.progress-status').text('处理中请稍等');
} }
}, 100); }, 100);
} }
} }
}, false); }, false);
xhr.onreadystatechange = function () { xhr.onreadystatechange = function () {
if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.readyState === XMLHttpRequest.DONE) {
var fileRow = $('#file-row-' + fileIndex); var fileRow = $('#file-row-' + fileIndex);
if (xhr.status === 200) { if (xhr.status === 200) {
var result = JSON.parse(xhr.responseText); var result = JSON.parse(xhr.responseText);
if (result.upload_url) { if (result.upload_url) {
uploadedLinks.push(result.upload_url); uploadedLinks.push(result.upload_url);
@ -341,13 +349,13 @@ if (xhr.status === 200) {
$('#statusOutput').text('上传中断: ' + result.error); $('#statusOutput').text('上传中断: ' + result.error);
return; return;
} }
} else { } else {
fileRow.find('.progress-status').text('错误信息: ' + xhr.statusText); fileRow.find('.progress-status').text('错误信息: ' + xhr.statusText);
$('#statusOutput').text('上传中断: ' + xhr.statusText); $('#statusOutput').text('上传中断: ' + xhr.statusText);
return; return;
} }
fileIndex++; fileIndex++;
uploadNextFile(); uploadNextFile();
} }
}; };
xhr.send(formData); xhr.send(formData);