From 7de923f9a3107ff4ed909a220b8600e4a0e733a7 Mon Sep 17 00:00:00 2001 From: YJSoft Date: Mon, 12 Jan 2015 16:22:46 +0900 Subject: [PATCH] =?UTF-8?q?php.ini=EC=9D=98=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=97=85=EB=A1=9C=EB=93=9C=20=EC=9A=A9=EB=9F=89=EC=9D=84=20?= =?UTF-8?q?=EC=9E=98=EB=AA=BB=20=EB=B6=88=EB=9F=AC=EC=98=A4=EB=8A=94=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 파일 업로드 용량 체크시 관리자일 경우 ini에서 직접 불러와서 처리하는데 이때 단위 처리가 빠져있어 무조건 MB 단위로 처리되는 버그 수정 스킨과의 호환성을 위해 1048576으로 나눠서 MB 단위로 처리되게 수정하였습니다. --- modules/file/file.admin.controller.php | 17 ----------------- modules/file/file.admin.view.php | 4 ++++ modules/file/file.class.php | 19 +++++++++++++++++++ modules/file/file.model.php | 4 +++- modules/file/tpl/adminConfig.html | 2 +- 5 files changed, 27 insertions(+), 19 deletions(-) diff --git a/modules/file/file.admin.controller.php b/modules/file/file.admin.controller.php index 6f8dfe2cd..09952be77 100644 --- a/modules/file/file.admin.controller.php +++ b/modules/file/file.admin.controller.php @@ -178,23 +178,6 @@ class fileAdminController extends file else $_SESSION['file_management'][$output->file_srl] = true; } } - - /** - * Change value from human readable to byte unit - * - * @param string $size_str Size string - * @return int The byte value for input - */ - function _changeBytes($size_str) - { - switch (substr ($size_str, -1)) - { - case 'M': case 'm': return (int)$size_str * 1048576; - case 'K': case 'k': return (int)$size_str * 1024; - case 'G': case 'g': return (int)$size_str * 1073741824; - default: return $size_str; - } - } } /* End of file file.admin.controller.php */ /* Location: ./modules/file/file.admin.controller.php */ diff --git a/modules/file/file.admin.view.php b/modules/file/file.admin.view.php index 250d5fd61..4cc68621f 100644 --- a/modules/file/file.admin.view.php +++ b/modules/file/file.admin.view.php @@ -217,6 +217,10 @@ class fileAdminView extends file $oFileModel = getModel('file'); $config = $oFileModel->getFileConfig(); Context::set('config',$config); + $iniPostMaxSize = $this->_changeBytes(ini_get('post_max_size')); + $iniUploadMaxSize = $this->_changeBytes(ini_get('upload_max_filesize')); + $iniMinSize = min($iniPostMaxSize, $iniUploadMaxSize); + Context::set('upload_max_filesize',$this->_changeBytes($iniMinSize / 1048576)); // Set a template file $this->setTemplatePath($this->module_path.'tpl'); $this->setTemplateFile('adminConfig'); diff --git a/modules/file/file.class.php b/modules/file/file.class.php index a0a6f5ec4..93361ca43 100644 --- a/modules/file/file.class.php +++ b/modules/file/file.class.php @@ -150,6 +150,25 @@ class file extends ModuleObject function recompileCache() { } + + /** + * Change value from human readable to byte unit + * + * @param string $size_str Size string + * @return int The byte value for input + */ + function _changeBytes($size_str) + { + $unit = strtoupper(substr($size_str, -1)); + $size_str = (int)$size_str; + switch ($unit) + { + case 'G': $size_str *= 1024; + case 'M': $size_str *= 1024; + case 'K': $size_str *= 1024; + } + return $size_str; + } } /* End of file file.class.php */ /* Location: ./modules/file/file.class.php */ diff --git a/modules/file/file.model.php b/modules/file/file.model.php index 713ce080a..2e58e312e 100644 --- a/modules/file/file.model.php +++ b/modules/file/file.model.php @@ -238,7 +238,9 @@ class fileModel extends file if($logged_info->is_admin == 'Y') { - $size = preg_replace('/[a-z]/is', '', ini_get('upload_max_filesize')); + $iniPostMaxSize = $this->_changeBytes(ini_get('post_max_size')); + $iniUploadMaxSize = $this->_changeBytes(ini_get('upload_max_filesize')); + $size = min($iniPostMaxSize, $iniUploadMaxSize) / 1048576; $file_config->allowed_attach_size = $size; $file_config->allowed_filesize = $size; $file_config->allowed_filetypes = '*.*'; diff --git a/modules/file/tpl/adminConfig.html b/modules/file/tpl/adminConfig.html index 3730fe3d0..07fa7dff3 100644 --- a/modules/file/tpl/adminConfig.html +++ b/modules/file/tpl/adminConfig.html @@ -34,7 +34,7 @@
- MB/{ini_get('upload_max_filesize')} + MB/{$upload_max_filesize}MB