Lister le contenu de plusieurs répertoires

np.encbw Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,


Débutant en PHP, je cherche tout simplement à afficher la liste des fichiers de plusieurs répertoires ainsi que le nom de chaque répertoire.
Je souhaiterais que la liste affichée (sous forme de tableau, par exemple, puisse permettre aux visiteurs de charger les fichiers (doc, docx ou PDF).
Le code actuellement trouvé (voir ci-dessous) me permet d'afficher la liste des fichiers sans que la présentation soit soignée et les noms des fichiers n'ont pas la forme d'un lien.
Merci pour l'aide que vous pourrez me fournir.
<?php

header('Content-type: text/plain'); 
$themedir = __DIR__; 
$iterator = new RecursiveDirectoryIterator($themedir, FilesystemIterator::SKIP_DOTS); 
foreach(new RecursiveIteratorIterator($iterator) as $file) {
  echo $file->getfilename()."\n";
}

?>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Ta question relève du b.a.ba du dev web .. à savoir .. le HTML (et éventuellement du CSS).

Pour ce qui est des liens.. il te suffit d'utiliser les balises
 <a href='le lien'>texte du lien </a>'


Pour la présentation façon "tableaux" .. il te sufft de regarder les balises <table>

Par exemple :

<table name='mon_tableau'>
<thead>
 <tr>
   <th>Titre colonne 1 </th>
   <th>Titre colonne 2 </th>
 </tr>
</thead>
 <tbody>
 <tr>
  <td> cellule 1</td>
  <td> cellule 2</td>
 </tr>
 </tbody>
</table>


Plus d'infos ici : https://www.commentcamarche.net/contents/504-tableau-html-table





Cordialement,
Jordane
0
np.encbw Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour cette réponse.
Effectivement, avec mes petites connaissances en html je pourrais concevoir ce tableau. Le hic dans mon problème est de savoir où insérer le code html pour obtenir cette présentation.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ca doit donner un truc du genre :


$themedir = __DIR__; 
$iterator = new RecursiveDirectoryIterator($themedir, FilesystemIterator::SKIP_DOTS); 

echo "<table>";
echo "<thead>";
echo "<tr>
        <th> Document </th>
        </tr>";
echo "</thead>";
echo "<tbody>";

  foreach(new RecursiveIteratorIterator($iterator) as $file) {
    $filename =  $file->getfilename();
    echo "<tr> 
                <td>
                   <a href='".$filename ."' >".$filename." </a>
                 </td> 
             </tr>";
   }
echo "</tbody>";
echo "</table>";



0
np.encbw Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Wouaw ! Merci bien.
Cela se rapproche de ce que je souhaiterais.
Puis-je abuser ... je souhairerais que le fichier index.php n'apparaisse pas dans ma liste.
Serait-ce possible ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > np.encbw Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Oui c'est possible;
Tu n'as qu'à faire un teste sur le nom du fichier ... et si c'est index.php.. ben tu ne l'affiche pas.
Pour se faire... il te suffit d'utiliser un IF

Je te laisse regarder sur le net comment l'écrire.
Reviens me voir si tu n'y arrives pas avec le code tenté.
0