+
+ static function maxFileSize()
+ {
+ $value = ImageFile::maxFileSizeInt();
+
+ if ($value > 1024 * 1024) {
+ return ($value/(1024*1024)).'Mb';
+ } else if ($value > 1024) {
+ return ($value/(1024)).'kB';
+ } else {
+ return $value;
+ }
+ }
+
+ static function maxFileSizeInt()
+ {
+ return min(ImageFile::strToInt(ini_get('post_max_size')),
+ ImageFile::strToInt(ini_get('upload_max_filesize')),
+ ImageFile::strToInt(ini_get('memory_limit')));
+ }
+
+ static function strToInt($str)
+ {
+ $unit = substr($str, -1);
+ $num = substr($str, 0, -1);
+
+ switch(strtoupper($unit)){
+ case 'G':
+ $num *= 1024;
+ case 'M':
+ $num *= 1024;
+ case 'K':
+ $num *= 1024;
+ }
+
+ return $num;
+ }