修改配置文件设置文件大小优化

This commit is contained in:
augushong
2024-10-21 11:20:25 +08:00
parent 6d58f6b70c
commit 044d28bb93
3 changed files with 38 additions and 4 deletions

View File

@@ -36,13 +36,16 @@ class ConfigBase extends AdminController
public function save()
{
$this->checkPostRequest();
$post = $this->request->except(['group_name'], 'post');
$group_name = $this->request->post('group_name');
$storage_bytes_keys = ['upload_allow_size'];
try {
foreach ($post as $key => $val) {
if (in_array($key, $storage_bytes_keys)) {
$val = parse_bytes($val);
}
if (empty($group_name)) {
$this->model
->where('name', $key)

View File

@@ -20,7 +20,7 @@
<div class="layui-form-item">
<label class="layui-form-label required">允许大小</label>
<div class="layui-input-block">
<input type="text" name="upload_allow_size" class="layui-input" lay-verify="required" lay-reqtext="请输入允许上传大小" placeholder="请输入允许上传大小" value="{:sysconfig('upload','upload_allow_size')}">
<input type="text" name="upload_allow_size" autocomplete="off" class="layui-input" lay-verify="required" lay-reqtext="请输入允许上传大小" placeholder="请输入允许上传大小" value="{:format_bytes(sysconfig('upload','upload_allow_size'))}">
<tip>设置允许上传大小。</tip>
</div>
</div>

View File

@@ -353,13 +353,44 @@ function array_to_table($array_tree, $prefix_key = '')
function format_bytes($size, $delimiter = '')
{
if (is_null($size)) {
return '0B';
}
$units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
for ($i = 0; $size >= 1024 && $i < 5; $i++) {
$size /= 1024;
}
return round($size, 2) . $delimiter . $units[$i];
}
function parse_bytes($size)
{
$unit = strtolower(substr($size, -1));
$size = (int) $size;
switch ($unit) {
case 'b':
break;
case 'k':
$size *= 1024;
break;
case'm':
$size *= 1024 * 1024;
break;
case 'g':
$size *= 1024 * 1024 * 1024;
break;
case 't':
$size *= 1024 * 1024 * 1024 * 1024;
break;
case 'p':
$size *= 1024 * 1024 * 1024 * 1024 * 1024;
break;
default:
return $size;
}
return $size;
}
function get_store_value($key, $default = null)
{