par
Ryle » 13 avr. 2007, 11:20
Alors en fait, le listing des fichiers d'un répertoire est le comportement par défaut du serveur web apache. Il vient en effet chercher dans le dossier un fichier nommé index.html ou .htm, voire .php en fonction de ce qui a été configuré (c'est le cas chez free). S'il le trouve, il le retourne au navigateur qui l'affiche. S'il ne le trouve pas, il liste l'ensemble des dossiers et fichiers.
Si tu places un fichier index.html, c'est donc lui qui est renvoyer, le problème, c'est qu'il ne peut contenir que du code html statique (en dur). Si tu veux voir la liste des fichiers il te faut écrire en dur à l'intérieur la liste et mettre toi même des liens dessus, et naturellement le mettre à jour à chaque fois que tu déplaces, modifies ou ajoutes un fichier/dossier.
La solution est donc de passer par une page "index.php" qui te permet de générer dynamiquement du code html. L'idée est donc de lui demander d'afficher le contenu normal de ta page, et en plus d'aller lister les dossiers/fichiers du répertoire puis de générer à la suite du précédent, le code html qui servira à les consulter.
Il existe pour cela certaines classes et fonctions permettant de lister le contenu d'un répertoire sur le serveur : opendir(), readdir() et closedir() te permettent d'ouvrir un dossier, lister son contenu et de le refermer.
Il ne te reste plus qu'à lister les valeur retournées avec un peu de html pour les présenter et le tour est joué

Alors en fait, le listing des fichiers d'un répertoire est le comportement par défaut du serveur web apache. Il vient en effet chercher dans le dossier un fichier nommé index.html ou .htm, voire .php en fonction de ce qui a été configuré (c'est le cas chez free). S'il le trouve, il le retourne au navigateur qui l'affiche. S'il ne le trouve pas, il liste l'ensemble des dossiers et fichiers.
Si tu places un fichier index.html, c'est donc lui qui est renvoyer, le problème, c'est qu'il ne peut contenir que du code html statique (en dur). Si tu veux voir la liste des fichiers il te faut écrire en dur à l'intérieur la liste et mettre toi même des liens dessus, et naturellement le mettre à jour à chaque fois que tu déplaces, modifies ou ajoutes un fichier/dossier.
La solution est donc de passer par une page "index.php" qui te permet de générer dynamiquement du code html. L'idée est donc de lui demander d'afficher le contenu normal de ta page, et en plus d'aller lister les dossiers/fichiers du répertoire puis de générer à la suite du précédent, le code html qui servira à les consulter.
Il existe pour cela certaines classes et fonctions permettant de lister le contenu d'un répertoire sur le serveur : opendir(), readdir() et closedir() te permettent d'ouvrir un dossier, lister son contenu et de le refermer.
Il ne te reste plus qu'à lister les valeur retournées avec un peu de html pour les présenter et le tour est joué :)