我使用ini_get('upload_max_filesize')来获取最大文件上传大小。结果是5M。用字节来表示它最简单的方法是什么?
ini_get('upload_max_filesize')
5M
aurhwmvo1#
您可以使用return_bytes from the documentation:
function return_bytes($val) { if (empty($val)) { $val = 0; } $val = trim($val); $last = strtolower($val[strlen($val)-1]); $val = floatval($val); switch($last) { // The 'G' modifier is available since PHP 5.1.0 case 'g': $val *= (1024 * 1024 * 1024); //1073741824 break; case 'm': $val *= (1024 * 1024); //1048576 break; case 'k': $val *= 1024; break; } return $val; } return_bytes(ini_get('post_max_size'));
atmip9wb2#
对于PHP 7,解决方案将返回:'遇到格式不正确的数值'它可用于:
function return_bytes($val) { preg_match('/(?<value>\d+)(?<option>.?)/i', trim($string), $matches); $inc = array( 'g' => 1073741824, // (1024 * 1024 * 1024) 'm' => 1048576, // (1024 * 1024) 'k' => 1024 ); $value = (int) $matches['value']; $key = strtolower(trim($matches['option'])); if (isset($inc[$key])) { $value *= $inc[$key]; } return $value; } return_bytes(ini_get('post_max_size'));
soat7uwm3#
没有足够的代表对@fierycat的解决方案发表评论只需将trim($string)更改为trim($val)。
trim($string)
trim($val)
3条答案
按热度按时间aurhwmvo1#
您可以使用return_bytes from the documentation:
atmip9wb2#
对于PHP 7,解决方案将返回:'遇到格式不正确的数值'
它可用于:
soat7uwm3#
没有足够的代表对@fierycat的解决方案发表评论
只需将
trim($string)
更改为trim($val)
。