Lister des répetoires en php

Résolu/Fermé
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 20 oct. 2016 à 20:42
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 25 oct. 2016 à 12:08
Bonjour,
J'aimerai afficher de façon recursives des dossiers afin d'afficher des fichiers avec l'extension PDF. J'ai récupéré sur le net ce script qui est super. Bien entendu je n'aurai pas été assez compétent pour le créer alors merci à celui qui l'a mis à disposition. Par contre ce que je ne comprends pas c'est pourquoi lorsque je clique sur le lien cela me renvoie comme si je n'avais de page index en fait. "index of/ au lieu de rester sur la même page mais l'arborescence ce fait très bien.
Pouvez vous me donner votre avis si cela viens du script ou de ma structure du site.
Je vous remercie.
        $dir_nom = 'fichiers';
        //cette fonction ouvre le dossier
        $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas');
        $fichier= array();
        $dossier= array();
            
            //cette fonction lit une entrée du dossier
            while($element = readdir($dir)) {
                if($element != '.' && $element != '..') {
                    //cette fonction indique si le fichier est un dossier
                    if (!is_dir($dir_nom.'/'.$element)) {
                        $fichier[] = $element;
                    }
                    else {$dossier[] = $element;
                    }
                }
            }

        closedir($dir);
if(!empty($dossier)) {
	sort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
	echo "Liste des dossiers accessibles dans '$dir_nom' : \n\n";
	echo "\t\t<ul>\n";
		foreach($dossier as $lien){
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
		}
	echo "\t\t</ul>";
}
if(!empty($fichier)){
	sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
	echo "Liste des fichiers/documents accessibles dans '$dir_nom' : \n\n";
	echo "\t\t<ul>\n";
		foreach($fichier as $lien) {
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
		}
	echo "\t\t</ul>";
 }



3 réponses

j'ai testé le script il marche très bien.

ma structure:
listing-fichiers.php
fichiers/img.jpg
fichiers/img1.jpg
fichiers/img2.jpg

en affichage j'ai :

Liste des fichiers/documents accessibles dans 'fichiers' :

img.jpg
img1.jpg
img2.jpg

Tu dois avoir un problème de configuration avec ton serveur. Un .htaccess qui traîne quelque part ou simplement la configuration du serveur pour le listing des dossiers ?
0
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
21 oct. 2016 à 07:57
Bonjour
En fait je me suis aperçu que lorsque j'ai des fichiers dans le dossier "$dir_nom" ça fonctionne mais quand il y a des sous dossiers l'url n'est pas bonne.
Je vous remercie si pour pouvez me donner une explication.
0
tu n'as pas de boucle pour les sous-dossiers.
0
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
25 oct. 2016 à 12:08
Bonjour
je vous remercie tout est rentré dans l'ordre.
0