Dossier, ss-dossier et fichier PHP
Fermé
Jayz
-
10 oct. 2010 à 04:07
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 5 nov. 2010 à 17:17
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 5 nov. 2010 à 17:17
A voir également:
- Dossier, ss-dossier et fichier PHP
- Dossier appdata - Guide
- Fichier rar - Guide
- Mettre un mot de passe sur un dossier - Guide
- Dossier démarrage - Guide
- Impossible de supprimer un dossier - Guide
2 réponses
$repertoire = array(); function nb_doc($dir){ $a = 0; $path = opendir ($dir); while (false !== ($file = readdir($path))){ if ($file != "." && $file != ".."){ return 0; } elseif(is_file($dir.$file)){ return $a++; } else{ $a += nb_doc($dir.$file); $repertoire[$dir] = $a; } closedir($path); } nb_doc("./"); print_r($repertoire);
Je n'ai pas tester, mais sa devrait être quelque chose dans ce style :)
Merci beaucoup Siluni... Mais il y a quelque chose qui cloche et je ne trouve pas ce que c'est, la page php me retourne une page blanche... :(
Merci pour le return $a; je ne l'avais pas remarquer ;)
Si jamais tu as le temps de jeter encore un petit coup d'oeil pour voir ce qui cloche, sinon moi en attendant je continu de regarder.
Passe une bonne journée!
Merci pour le return $a; je ne l'avais pas remarquer ;)
Si jamais tu as le temps de jeter encore un petit coup d'oeil pour voir ce qui cloche, sinon moi en attendant je continu de regarder.
Passe une bonne journée!
Bon, j'ai un peu réussis :
$folders = array();
function nb_doc($dir){
global $folders;
$a = 0;
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if(is_file($dir.'/'.$file)) {
$a++;
}
if(is_dir($dir.'/'.$file)) {
$folders[$dir.'/'.$file] = nb_doc($dir.'/'.$file);
}
}
}
closedir($handle);
}
return $a;
}
nb_doc('./icons/');
print_r($folders);
Résultat :
Array (
[./icons//Real_Vista_Text/ICO] => 3600
[./icons//Real_Vista_Text/PNG] => 1438
[./icons//Real_Vista_Text] => 0
[./icons//test] => 1
[./icons//This is my new folder] => 0 )
Maintenant je dois tout simplement afficher sa sous forme de Menu Tree...
Merci beaucoup!!!
Et si jamais tu as d'autre améliorations ou conseils, ne te gêne pas! :)
:)
$folders = array();
function nb_doc($dir){
global $folders;
$a = 0;
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if(is_file($dir.'/'.$file)) {
$a++;
}
if(is_dir($dir.'/'.$file)) {
$folders[$dir.'/'.$file] = nb_doc($dir.'/'.$file);
}
}
}
closedir($handle);
}
return $a;
}
nb_doc('./icons/');
print_r($folders);
Résultat :
Array (
[./icons//Real_Vista_Text/ICO] => 3600
[./icons//Real_Vista_Text/PNG] => 1438
[./icons//Real_Vista_Text] => 0
[./icons//test] => 1
[./icons//This is my new folder] => 0 )
Maintenant je dois tout simplement afficher sa sous forme de Menu Tree...
Merci beaucoup!!!
Et si jamais tu as d'autre améliorations ou conseils, ne te gêne pas! :)
:)
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
5 nov. 2010 à 17:17
5 nov. 2010 à 17:17
je voudrais juste dire un truc sur la recursivité
il semble que l on peut pas compter les fichiers en dehors de la fonction recursive à l'aide d une autre fonction...
par exemple pour cibler le type de fichier ou date de modification sans alourdir la boucle.
C est bizarre... L erreur retourné est ce que ce n est pas un repertoire est pourtant ...
il semble que l on peut pas compter les fichiers en dehors de la fonction recursive à l'aide d une autre fonction...
par exemple pour cibler le type de fichier ou date de modification sans alourdir la boucle.
C est bizarre... L erreur retourné est ce que ce n est pas un repertoire est pourtant ...
10 oct. 2010 à 10:13