Aller au contenu
Bientot le SIte Couillaman.VIP ×
Vie du geek le forum entre geek

Inscrivez-vous maintenant pour accéder à toutes nos fonctionnalités. Une fois inscrit et connecté, vous pourrez créer des sujets, publier des réponses aux discussions existantes, donner de la réputation à vos collègues, obtenir votre propre messager privé, publier des mises à jour de statut, gérer votre profil et bien plus encore. Si vous avez déjà un compte, connectez-vous ICI autrement Inscription un compte gratuit aujourd'hui!

Messages recommandés

Fonction PHP simple qui formate les octets à la forme désirée.

 

  • Byte (B)
  • Kilobyte (KB)
  • Megabyte (MB)
  • Gigabyte (GB)
  • Terabyte (TB)
  • Petabyte (PB)
  • Exabyte (EB)
  • Zettabyte (ZB)
  • Yottabyte (YB)

 

 

Fonction prend trois paramètres : (octets obligatoires, unité optionnelle, décimale optionnelle)

<?php
 
  function byteFormat($bytes, $unit = "", $decimals = 2) {
$units = array('B' => 0, 'KB' => 1, 'MB' => 2, 'GB' => 3, 'TB' => 4,
'PB' => 5, 'EB' => 6, 'ZB' => 7, 'YB' => 8);
 
$value = 0;
if ($bytes > 0) {
// Generate automatic prefix by bytes
// If wrong prefix given
if (!array_key_exists($unit, $units)) {
$pow = floor(log($bytes)/log(1024));
$unit = array_search($pow, $units);
}
// Calculate byte value by prefix
$value = ($bytes/pow(1024,floor($units[$unit])));
}
 
// If decimals is not numeric or decimals is less than 0
// then set default value
if (!is_numeric($decimals) || $decimals < 0) {
$decimals = 2;
}
 
// Format output
return sprintf('%.' . $decimals . 'f '.$unit, $value);
  }
 
?>

Exemple d'utilisation

 
echo byteFormat(4096, "B");
echo byteFormat(8, "B", 2);
echo byteFormat(1, "KB", 5);
echo byteFormat(1073741824, "B", 0);
echo byteFormat(1073741824, "KB", 0);
echo byteFormat(1073741824, "MB");
echo byteFormat(1073741824);
echo byteFormat(1073741824, "TB", 10);
echo byteFormat(1099511627776, "PB", 6);

Affiches

4096.00 B
8.00 B
0.00098 KB
1073741824 B
1048576 KB
1024.00 MB
1.00 GB
0.0009765625 TB
0.000977 PB
Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...