Calcul ordre de grandeur automatique pour taille de fichier (octet, ko, mo, go, to...)

Contenu du snippet

Fonction permettant de retourner un ordre de grandeur pour la taille en octet.

Source / Exemple :


<?php
function unite($octet, $round){
	$unite_spec = array('octets','Ko','Mo','Go','To');
	$count=0;
	$c = count($unite_spec);
	while($octet>=1024 && $count<$c-1){
		$count++;
		$octet/=1024;
	}
	if($round>=0){
		$arr = pow(10,$round);
		$number = round($octet*$arr)/$arr;
	} else {
		$number = $octet;
	}
	return($number.' '.$unite_spec[$count]);
}
?>

Conclusion :


J'ai déjà trouvé une fonction similaire sur ce site mais "mal" faite.
Celle-ci est drolement simple à comprendre et fonctionne très bien ;)
J'ai maintenant rajouté des options pour empècher le dépassement de capaciter au cas ou il y aurait des fichiers plus gros que 1024 To... Ce qui est physiquement impossible (pour le moment ;)), mais si vous utilisez cette fonction avec l'addition de tous vos fichiers...
Si vous êtes soucieux de la rapidité, vous n'avez qu'à enlever cette option.

J'ai rajouté aussi une fonction pour arrondir le nombre obtenue... Si vous ne voulez pas arrondir, mettez $round < à 0.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.