added new/changed files

This commit is contained in:
Sergey Svinolobov
2024-06-26 00:47:18 -04:00
parent ad41b84496
commit 3814366b39
13 changed files with 335 additions and 89 deletions

44
checkUploadLimit.php Normal file
View File

@@ -0,0 +1,44 @@
<?php
require_once 'config.php';
function convertToBytes($size) {
$number = substr($size, 0, -1);
switch (strtoupper(substr($size, -1))) {
case 'G':
return $number * 1024 * 1024 * 1024;
case 'M':
return $number * 1024 * 1024;
case 'K':
return $number * 1024;
default:
return $size;
}
}
function getDirectorySize($dir) {
$size = 0;
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)) as $file) {
if ($file->isFile()) {
$size += $file->getSize();
}
}
return $size;
}
$response = ['uploadAllowed' => false, 'message' => ''];
$fileSize = isset($_POST['fileSize']) ? (int)$_POST['fileSize'] : 1000000000000;
$totalUploadLimit = convertToBytes(TOTAL_UPLOAD_SIZE);
$currentDirSize = getDirectorySize(UPLOAD_DIR);
$newSize = $currentDirSize + $fileSize;
if ($newSize > $totalUploadLimit) {
$response['message'] = 'Upload denied. Total upload limit exceeded.';
$_SESSION['uploadAllowed'] = false;
} else {
$response['message'] = 'Upload allowed. Starting upload...';
$_SESSION['uploadAllowed'] = true;
}
echo json_encode($response);
?>