Affichage d’une taille de fichier lisible humainement en PHP

7 12 2009

Pour mon centième billet, voici une fonction PHP pour afficher une taille de fichier de façon plus humaine.

Que fait cette fonction ?

Un exemple sera plus rapide pour comprendre. Les lignes suivantes :

echo tailleHumaine(30)."\n";
echo tailleHumaine(1256)."\n";
echo tailleHumaine(12502111116)."\n";

retournent

30 octets
1,2 Kio
11,6 Gio

La fonction tailleHumaine

Voici le code source en PHP de la fonction tailleHumaine :

function tailleHumaine($taille,$precision=1) {
  $unites=array('octets','Kio','Mio','Gio','Tio','Pio','Eio','Zio','Yio');
  $div   =round(log($taille,1024));
  $taille=round($taille/pow(1024,$div),$precision);
  return str_replace('.',',',$taille).' '.$unites[$div];
}

Bien sûr, cette fonction a déjà été proposée partout ailleurs, c’est un grand classique.

Ce qui différencie ma version des autres :

  • la francisation : le point décimal anglo-saxon est remplacé par une virgule à la française,
  • l’absence de boucle : la fonction logarithme permet de supprimer la boucle traditionnelle,
  • la précision : par défaut, 1 chiffre après la virgule est affiché, mais c’est paramétrable,
  • elle tient en 6 lignes de code.

Actions

Information

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s




%d blogueurs aiment cette page :