je suis pas 'nouveau' du php mais j'ai jamais fait que des ptits trucs bidons...
la pour lire lister totalité d'un dossier et donner sa taille totale, j'ai fais comme en c , j'ai fais une fonction récursive qui fera les sous répertoires et les sous-sous et les sous-sous-sous etc....
seulement voila j'ai jamais fais de récursivité en php et j'espère que c pas à cause d'une persistence de variable ou une autre diff par rapport au C qui fait que ca marche pas....
voila le programme :
<?
//fonction read_dir_red ( taille en ce point, nom du dossier, nombre d'espace à afficher)
function read_dir_rec($int_taille,$chaine_dossier,$int_tab)
{
chdir($chaine_dossier);
$dir_dossier=dir($chaine_dossier);
//on saute ./ et ../
$dir_dossier->read();
$dir_dossier->read();
//tant que y a foule on lit, si c un dossier on le lit aussi
while ($fichier=$dir_dossier->read())
{
for ($cpt=0;$cpt<$int_tab;$cpt++)
echo " ";
if (is_dir($fichier))
{
echo "+$fichier {dossier}<BR>";
$int_taille+=read_dir_rec(0,$fichier,$int_tab+1);
}
else
{
echo "-$fichier ".(int)(filesize($fichier)/1024)." Ko<BR>";
$int_taille+=filesize($fichier);
}
}
for ($cpt=0;$cpt<$int_tab;$cpt++)
echo " ";
echo "[taille totale de ".$dir_dossier->path.". : ".(int)($int_taille/1024)." Ko]<BR>";
chdir("../" );
return $int_taille;
}
echo "<BR><B>Taille totale : ".(int)(read_dir_rec(0,"./",1)/1024)." Ko</B>";
?>
et voila un exemple d'éxécution..je pense que ca viens d'une propriété de php que je connaitrais pas
(comme la plupart du temps, le problème doit etre tout con)
voila un exemple d'éxécution
-image.php 1 Ko
-index.php 8 Ko
-site.php 0 Ko
-news.html 0 Ko
-index2.php 8 Ko
-view.php 12 Ko
-nico.txt 1 Ko
+IMAGES {dossier}
-pageimage.GIF 0 Ko
-arriere_plan.gif 3 Ko
-pageaccueil.jpg 0 Ko
-pageimage2.jpg 0 Ko
-indextech_games___argent_fa.jpg 0 Ko
-wallpaperssophie_marceau.jpg 0 Ko
-ex_humpf2.html 0 Ko
-image_humpf2.jpg 0 Ko
-image_laterale.jpg 0 Ko
-image_bloc_haut.jpg 0 Ko
-is_single_pixel_gif.gif 0 Ko
-structureaccueil.jpg 0 Ko
-structureimage.jpg 0 Ko
-centreimage.jpg 0 Ko
-menu.gif 59 Ko
-logo.jpg 7 Ko
[taille totale de IMAGES. : 70 Ko]
-Copie de index.php 6 Ko
-index-fini.php 8 Ko
-dl.zip 9 Ko
-couleurs.txt 0 Ko
-Copie de index-fini.txt 8 Ko
+dl {dossier}
-admin.php 0 Ko
-cfg.php3 0 Ko
-Copie de model.html 0 Ko
-dl.php 0 Ko
-dlc.php 0 Ko
-download.php 0 Ko
-installation.txt 0 Ko
-Nouveau Texte seulement.txt 0 Ko
-popup.html 0 Ko
-script dl.txt 0 Ko
-downloads.html 0 Ko
-downloads.php 0 Ko
-Copie de Copie de model.htm 0 Ko
-Copie de sauvegardeCopie de model.html 0 Ko
-essayer.php 0 Ko
-style.css 0 Ko
[taille totale de dl. : 0 Ko]
-doss-provisoire.php 9 Ko
-doss-avecimages.php 8 Ko
-doss.php 8 Ko
-passnico.txt 0 Ko
-doss temporaire.php 9 Ko
-index ancien.php 8 Ko
-old image.php 2 Ko
-doss ancien.php 7 Ko
-taille.php 0 Ko
-essai.php 0 Ko
-taille2.php 0 Ko
[taille totale de ./. : 195 Ko]
Taille totale : 195 Ko
la plupart sont à 0 c normal, mais pour les fichiers du répertoires DL et IMAGES, tous sont >0
mais le truc c'est qu'il a juste pouyr par exemple IMAGES/menu.gif qui fait 59,8 Ko
???