first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
<?php
namespace Common\Files\Actions;
class GetServerMaxUploadSize
{
protected $configKeys = ['post_max_size', 'upload_max_filesize', 'memory_limit'];
/**
* @return array
*/
public function execute()
{
$configValues = collect($this->configKeys)
->map(function($key) {
$value = ini_get($key);
return ['original' => $value, 'bytes' => $this->getBytes($value)];
})->filter(function($value) {
return $value['bytes'] > 0;
});
return $configValues->where('bytes', $configValues->min('bytes'))->first();
}
/**
* @param int|string $value
* @return int
*/
protected function getBytes($value)
{
if (is_numeric($value)) {
return (int) $value;
}
$metric = strtoupper(substr($value, -1));
switch ($metric) {
case 'K':
return (int) $value * 1024;
case 'M':
return (int) $value * 1048576;
case 'G':
return (int) $value * 1073741824;
default:
return (int) $value;
}
}
}