Formatear Bytes en KB, MB y GB con Javascript y PHP

Formatear Bytes en KB, MB y GB con Javascript y PHP

Muchas veces tenemos cantidades en Bytes que queremos mostrarlas al usuario, para mostrarlas en una forma más fácil para los usuarios, hoy veremos cómo formatear bytes en KB, MB y GB con JavaScript y con PHP.

Actualmente, trabajo en un proyecto en el que se manejan cantidades de almacenamiento.

En este proyecto tenemos la necesidad de trabajar con cantidades de bytes pero también mostrarlas.

Sabemos que no podemos mostrar a un usuario que tiene 1073741824 bytes, pues no sabría realmente cuanto tiene de espacio.


¿Sabías que?

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.

Udemy

Aunque estamos colocando la información real, el usuario no podrá comprender que tiene 1 GB de espacio de almacenamiento.

Es por esta razón que necesitamos una función para convertir estas cantidades a formato ‘bonito’ para los usuarios.

Hoy veremos cómo formatear Bytes en KB, MB y GB con JavaScript y PHP para tu mayor comodidad.

Formatear Bytes en JavaScript

La siguiente función en JavaScript nos permite formatear cualquier cantidad de bytes a KB, MB y GB sin problemas.

Solo necesitamos enviarle un parámetro que es la cantidad de bytes y nos regresa una cadena de texto con el formato ‘bonito’.

formatearBytes(bytes) {
        var lista = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
        if (bytes == 0) return '0 Byte';
        var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));
        return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + lista[i];
}

Si estás trabajando en JavaScript puedes utilizar esta función, aunque si estás trabajando del lado del servidor, la siguiente función en PHP te será de utilidad.

¿Te podría interesar cómo subir un archivo a Amazon S3 desde PHP?

Formatear Bytes en PHP

La siguiente función en PHP nos permite formatear cualquier cantidad de bytes a formato de KB, MB y GB.

El único parámetro que necesita es la cantidad de bytes a formatear, la función regresa una cadena de texto con el formato leíble para los usuarios.

function formatearBytes($cantidad){

        $precision = 2;

        $lista = array('B', 'KB', 'MB', 'GB', 'TB');

        $bytes = max($cantidad, 0);
        $i = floor(($bytes ? log($bytes) : 0) / log(1024));
        $i = min($i, count($lista) - 1);

        $bytes /= (1 << (10 * $i)); 

        return round($bytes, $precision) . ' ' . $lista[$i]; 

}

Así que ya sea que estás trabajando en el front-end o en el back-end tendrás la función a la mano.

Cabe destacar que en las funciones anteriores también es posible formatear cantidades hasta terabytes.

Ahora pasaremos de:

1073741824 => 1 GB

o de:

364713 => 356.17 KB

Y podremos trabajar en back con las cantidades en bytes y en front mostrarlas para que el usuario entienda fácilmente.

Si esta información sobre cómo formatear Bytes en KB, MB y GB con JavaScript y PHP te ha sido de utilidad, no olvides compartirla en tus redes sociales favoritas o dejarnos un comentario en la sección de abajo si tienes cualquier duda o comentario respecto con este tema, será un placer ayudarte.

¡Hasta luego!

Clic para valorar esta información
[Total: 2 Promedio: 5]