Bonjour
J'ai créé une classe php, dans laquelle j'ai une fonction qui doit parcourir la liste de mes dossiers pour sortir tous les fichiers qui se trouvent dedans. Il peut également y avoir des sous dossiers dans les dossiers.
Voici mon code :
Premier problème : je reçois une erreur sur la ligne où j'appelle la fonction dans la fonction (dans le if is_dir) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function searchDoc($dossier) { $dir = opendir($dossier) or die('Problème d\'ouverture du dossier.'); $str = '<ul class="doc">'; while($doc = readdir($dir)) { if($doc != '.' && $doc != '..') { if(is_dir($dossier.$doc)) { searchDoc($doc); } else { $str .= '<li><a href="'.$dossier.'/'.$doc.'" target="_blank">'.$doc.'</a></li>'; } } } closedir($dossier); $str .= '</ul>'; return $str; }
J'ai cru lire sur le net qu'il fallait que la fonction soit déclarée en dehors de la classe pour que ça fonctionne. Sauf que si je fais ça, mon premier appel à ma fonction (qui n'apparaît pas ici) me ressort que la fonction n'existe pas.Call to undefined function searchDoc() ...
Comment puis-je faire ?
Ensuite, un autre problème que j'ai : je souhaite afficher des fichiers suivant des filtres. Par exemple lister tous les fichiers se trouvant dans tel sous dossier. Bon ça devrait aller pour ça, par contre, je dois également lister les 5 fichiers les plus récents dans tous les dossiers confondus.
Mais comment puis-je faire ça ?
Je pensais récupérer la date de chaque fichier et mettre dans un tableau mais je ne vois pas bien comment tout ça peut fonctionner.
Un peu d'aide serait la bienvenue, merci !
Partager