我使用ini_get('upload_max_filesize')来获取最大文件上传大小。结果是5M。最简单的方法是什么?
ini_get('upload_max_filesize')
5M
jhdbpxl91#
你可以使用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'));
v1l68za42#
对于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'));
roejwanj3#
没有足够的代表对@fierycat的解决方案发表评论只需将trim($string)更改为trim($val)。
trim($string)
trim($val)
3条答案
按热度按时间jhdbpxl91#
你可以使用return_bytes from the documentation:
v1l68za42#
对于PHP 7,解决方案将返回:'遇到格式不正确的数值'
它可以用于:
roejwanj3#
没有足够的代表对@fierycat的解决方案发表评论
只需将
trim($string)
更改为trim($val)
。