| |||||
| Dernière réponse | |
|---|---|
| Sujet : php, dossier et recursivité | |
| Feanor | voila ca n'a surement que peu d'interet mais bon :
il y avait surement un problème pour que la fonction se situe correctement dans l'arborescence... donc plutot que de faire des chdir, il fallait prendre en compte l'arborescence supérieure dans chaque appel pour pouvoir considérer tous les fichiers du répertoire de départ ca donne ca : <? //crée l'indentation function affiche_espace($nombredespace) { for ($cpt=0;$cpt<$nombredespace;$cpt++) echo " "; } function read_dir_rec($chaine_dossier,$int_tab) { $int_taille=0; $dir_dossier=dir($chaine_dossier); //on enleve les ./ et ../ $dir_dossier->read(); $dir_dossier->read(); while ($chaine_fichier=$dir_dossier->read()) { $chaine_fichier_complete=$chaine_fichier; $chaine_fichier_complete=$chaine_dossier.$chaine_fichier; if (is_dir($chaine_fichier_complete)) { affiche_espace($int_tab); echo "+$chaine_fichier Dossier<BR>"; $int_taille+=read_dir_rec($chaine_fichier_complete."/",$int_tab+1); } else { affiche_espace($int_tab); $int_taillefichier=filesize($chaine_fichier_complete); echo "-$chaine_fichier $int_taillefichier<BR>"; $int_taille+=$int_taillefichier; } } affiche_espace($int_tab); echo "(-)taille totale du sous dossier : $int_taille<BR>"; return $int_taille; } $taille=(int)(read_dir_rec("./",0)/1024); echo "Taille totale du répertoire courant : <B>$taille<B/> Ko<BR>"; ?> et au final ceci : -image.php 1595 -index.php 9033 -site.php 30 -news.html 846 -index2.php 8380 -view.php 12489 -nico.txt 1519 +IMAGES Dossier -barre.jpg 7738 -is_single_pixel_gif.gif 43 -ex-haut2.gif 33501 -ex-barre2.jpg 7633 -ex-haut.jpg 121438 -centre.gif 3711 -newsndex.jpg 37965 -arriere_plan.gif 3711 -ex-haut.gif 33501 -ex-barre.jpg 7633 -ex-logo.gif 10036 -ex-logo2.jpg 7539 -suivant.gif 2829 -precedent.gif 3352 -retour.gif 253 -barrehorz.gif 771 -suite.gif 2551 +images Dossier -pageimage.GIF 34160 -arriere_plan.gif 3711 -pageaccueil.jpg 58059 -pageimage2.jpg 7607 -indextech_games___argent_fa.jpg 75161 -wallpaperssophie_marceau.jpg 103436 -ex_humpf2.html 131 -image_humpf2.jpg 18190 -image_laterale.jpg 6001 -image_bloc_haut.jpg 12953 -is_single_pixel_gif.gif 43 -structureaccueil.jpg 58295 -structureimage.jpg 36596 -centreimage.jpg 16079 -menu.gif 43449 -logo.jpg 7539 (-)taille totale du sous dossier : 481410 +lettres Dossier -z.jpg 724 -i.jpg 657 -j.jpg 658 -y.jpg 676 -t.jpg 682 -p.jpg 698 -f.jpg 701 -c.jpg 702 -u.jpg 706 -a.jpg 713 -e.jpg 715 -g.jpg 716 -r.jpg 718 -v.jpg 718 -d.jpg 719 -k.jpg 719 -b.jpg 721 -o.jpg 722 -l.jpg 647 -h.jpg 726 -s.jpg 728 -n.jpg 737 -q.jpg 737 -x.jpg 740 -w.jpg 743 -m.jpg 748 (-)taille totale du sous dossier : 18471 -ex-menu.gif 60688 +eximages Dossier -suivant.gif 2829 -barre.gif 129558 -barrehorz.gif 771 -centre.gif 3711 -ex-barre.jpg 7633 -ex-haut.gif 33501 -ex-logo.gif 10036 -haut.bmp 345614 -haut.gif 345614 -is_single_pixel_gif.gif 43 -logo.bmp 34902 -logo.gif 34902 -menu.gif 43449 -newsndex.jpg 37965 -precedent.gif 3352 -retour.gif 253 -suite.gif 2551 -barre.bmp 129558 (-)taille totale du sous dossier : 1166242 -haut2.gif 33501 -ex-logo2.gif 34902 -ex-barre.gif 129558 -haut.gif 33501 -logo.jpg 7539 -menu.gif 60688 (-)taille totale du sous dossier : 2310705 -Copie de index.php 6661 -index-fini.php 9121 -dl.zip 9739 -couleurs.txt 23 -Copie de index-fini.txt 9121 +dl Dossier +dl Dossier -admin.php 8122 -cfg.php3 107 -Copie de model.html 6583 -dl.php 631 -dlc.php 1288 -download.php 5973 -installation.txt 629 -Nouveau Texte seulement.txt 0 -popup.html 168 -script dl.txt 2206 -downloads.html 28 -downloads.php 10130 -Copie de Copie de model.htm 8706 -Copie de sauvegardeCopie de model.html 9172 -essayer.php 6693 -style.css 200 (-)taille totale du sous dossier : 60636 (-)taille totale du sous dossier : 60636 -doss-provisoire.php 10067 -doss-avecimages.php 9105 -doss.php 8753 -passnico.txt 47 -doss temporaire.php 10067 -index ancien.php 9155 -old image.php 2460 -doss ancien.php 8090 -taille.php 817 -essai.php 144 -taille2.php 1003 -taille3.php 1544 (-)taille totale du sous dossier : 2501150 Taille totale du répertoire courant : 2442 Ko |
| Vue Rapide de la discussion |
|---|