[PHP] Système de quota, graphique et textuel…
12 août 2008 à 23:31, par ChristopheBonsoir !
J’ai moi-même cherché pendant longtemps un système de quota. Mais malheureusement, certains son pas beaux, d’autres marches pas, bref… ici, celui-ci est graphiquement correct, surtout fonctionnel et son fonctionnement est assez facile à comprendre pour les débutants
Voilà le code complet :
Voir le Code PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Quota Disque</title> <style type="text/css"> .pourcentage { position:absolute; color:#FFFFFF; font-weight:bold; font-family:Arial, Helvetica, sans-serif; font-size:small; height:20px; text-align:center; padding-top:2px; } </style> </head> <body> <?php function DirSize($path , $recursive=TRUE) { $result = 0; if( !is_dir($path) || !is_readable($path)) { return 0; } else { $fd = dir($path); while($file = $fd->read()){ if(($file != ".") && ($file != "..")){ if(@is_dir("$path/$file/")) { $result += $recursive?DirSize("$path/$file/"):0; } else { $result += filesize("$path/$file"); } } } $fd->close(); return $result; } } $taille_du_quota = 1024; // Taille fixe du quota en Mega Octets $taille_barre = 200; // taille de la barre totale en px $taille_abs = $taille_du_quota / $taille_barre; $rep = "./"; // chemin du répertoire a inspecter $taille_utilisee = round(DirSize($rep)/1048576,2); //DirSize($rep,false) pour non recursif. $pourcentage = round(($taille_utilisee*100)/$taille_du_quota,2); // conversion en % $path_abs = "images/"; // repertoire image a la racine du site. $bleue = $taille_utilisee / $taille_abs; // taille de la barre bleue $jaune = ($taille_du_quota - $taille_utilisee) / $taille_abs; //taille de la barre jaune ?> <div style="width:<?php echo $taille_barre; ?>px;"><div class="pourcentage" style="width:<?php echo $taille_barre; ?>px;"><?php echo $pourcentage; ?>%</div><img src="<?php echo $path_abs; ?>barre_bleue.png" width="<?php echo $bleue; ?>" height="20" title="<?php echo $pourcentage; ?>%" alt="<?php echo $pourcentage; ?>%" /><img src="<?php echo $path_abs; ?>barre_jaune.png" width="<?php echo $jaune; ?>" height="20" title="<?php echo $pourcentage; ?>%" alt="<?php echo $pourcentage; ?>%" /></div> Vous utilisez <b><?php echo $taille_utilisee; ?> Mo</b> sur les <b><?php echo $taille_du_quota; ?> Mo</b> alloué </body> </html> |
Pour les deux images, téléchargez la première ici, et la deuxième là
Cliquez ici pour aller sur la page d’exemple (que j’ai réduit à 50 Mo pour bien voir la deuxième barre)