array( "UNIT" => "TB", "VALUE" => pow(1024, 4) ), 1 => array( "UNIT" => "GB", "VALUE" => pow(1024, 3) ), 2 => array( "UNIT" => "MB", "VALUE" => pow(1024, 2) ), 3 => array( "UNIT" => "KB", "VALUE" => 1024 ), 4 => array( "UNIT" => "B", "VALUE" => 1 ), ); foreach($arBytes as $arItem) { if($bytes >= $arItem["VALUE"]) { $result = $bytes / $arItem["VALUE"]; $result = str_replace(".", "," , strval(round($result, 2)))." ".$arItem["UNIT"]; break; } } return $result; } /** * Remove html tags form results end encode them before writing to cache * * @param mixed $data * @return encoded json-object or $data * @since 2.0.4 */ function aas_encode($data){ $result = array(); $i = 0; if(!is_string($data)){ foreach($data as $ar){ foreach((array)$ar as $key => $val){ if ( is_string( $val ) ) { $result[ $i ][ $key ] = strip_tags($val); } else { $result[ $i ][ $key ] = $val; } } $i ++; } return json_encode( $result, JSON_UNESCAPED_UNICODE ); } else { return $data; } }