balise php pour creer des liens

manegedaix

Membre confirmé
10 Avril 2007
71
1
bonjour, grace a ce code j'arrive a lister un dossier, avec ses sous dossier et ses fichiers. Par contre je n'arrive pas a creer de liens pour les sous fichiers. Quelles variable dois je mettre?


Bloc de code:
[/B]
<?php

function ListFolder($Folder, $SkipFileExts, $SkipObjects) // Fonction pour lister les dossiers
{
 $dir = opendir($Folder);
 while (false !== ($Current = readdir($dir))) // Boucle sur tout ce qu'il y a dans le r&#233;pertoire
 {
  if ($Current !='.' && $Current != '..' && in_array($Current, $SkipObjects)===false)
  {
   if(is_dir($Folder.'/'.$Current)) // Si c'est un dossier
   {
    echo '<strong style="color: #ff0000;">'.$Current.'</strong><br>'; 
    ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects); // On liste les dossiers contenue dans le dossier (r&#233;cursivit&#233;)
   }
   else
   {
    $FileExt = strtolower(substr(strrchr($Current ,'.'),1));
    if (in_array($FileExt, $SkipFileExts)===false) // On regarde si on doit afficher cette extension
  
echo $Current.'<br>';
echo $Current.'<br>';
   }
  }
 }
 closedir($dir); 
}


   $Folder = 'essai';
   $SkipExts = array('txt', 'php', 'db');
   $SkipObjects = array('UnDossier', 'UnFichier');
   ListFolder($Folder, $SkipExts, $SkipObjects);
  ?>
[B]

merci d'avance.
 
Désolé pour la petite confusion, en fait ma balise html c'est:

<li><a href="http://monsite.fr/?q=node/3&video=<?php echo ??????; ?>"><?php echo ?????? ?></a></li>


par contre je ne sais pas quoi mettre la ou il y a les ?????? pour avoir l' 'echo' du fichier
 
Désolé pour la petite confusion, en fait ma balise html c'est:

<li><a href="http://monsite.fr/?q=node/3&video=<?php echo ??????; ?>"><?php echo ?????? ?></a></li>


par contre je ne sais pas quoi mettre la ou il y a les ?????? pour avoir l' 'echo' du fichier
au fur et &#224; mesure ton code sera fini... ^^ :D

Bon sinon dans le code que tu nous as fil&#233; dans le premier post je vois pas o&#249; est faite la liste :heu: ?
Sinon je suppose que &#231;a sera un truc du genre
Bloc de code:
<li><a href="http://monsite.fr/?q=node/3&video=<?=$Folder.'/'.$Current?>"><?=$Current?></a></li>

:)
 
Effectivement p4bl0, j'en bave pour faire ce bout de code. J'ai acheter deux livres sur le php et lu la notice du php mais je n'arrive toujours pas à compiler un code pour lister tous ce qu'il y a dans un dossier 'maitre' et créé des liens vers chaque fichiers contenu dans les sous dossiers. Du coup, je fais encore appelle a vous.

Justement le code pour faire les liens n'y est pas car je n'arrive pas a creer une balise afin de creer des liens.

Je suis un peu perdu
 
Effectivement p4bl0, j'en bave pour faire ce bout de code. J'ai acheter deux livres sur le php et lu la notice du php mais je n'arrive toujours pas &#224; compiler un code pour lister tous ce qu'il y a dans un dossier 'maitre' et cr&#233;&#233; des liens vers chaque fichiers contenu dans les sous dossiers. Du coup, je fais encore appelle a vous.

Justement le code pour faire les liens n'y est pas car je n'arrive pas a creer une balise afin de creer des liens.

Je suis un peu perdu
essaye en rempla&#231;ant
Bloc de code:
if (in_array($FileExt, $SkipFileExts)===false) // On regarde si on doit afficher cette extension
  
echo $Current.'<br>';
echo $Current.'<br>';
par
Bloc de code:
if (in_array($FileExt, $SkipFileExts)===false) {
    echo '<li><a href="http://monsite.fr/?q=node/3&video=',$Folder,'/',$Current,'">',$Current,'</a></li>';
}
Je ne suis aps s&#251;r du tout que &#231;a fonctionne par que (le prend pas mal) ton code est un peu bord&#233;lique et je ne sais pas ce qu'il y a autour...

D'apr&#232;s ce que je vois vite-fait tu devrais mettre un echo '<ul>'; en d&#233;but de fonction et un echo '</ul>' en fin de fonction. Et remplacer
Bloc de code:
echo '<strong style="color: #ff0000;">'.$Current.'</strong><br>'; 
    ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects); // On liste les dossiers contenue dans le dossier (r&#233;cursivit&#233;)
par
Bloc de code:
echo '<li><strong style="color: #ff0000;">'.$Current.'</strong>'; 
    ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects);
    echo '</li>';

Essaye pour voir si &#231;a marche et adapte &#224; ce que tu veux si c'est le cas, sinon donne nous plus en d&#233;tail ce que tu veux faire.
 
Peut etre que je m'y prend mal mais j'arrive pas a faire ce ue je veux.
Je vous explique le plus simplement possible

J'ai un dossier A qui contient des sous dossiers b,c,d et chaque sous dossier contient des videos flash.

Grace au php, je souhaite faire la liste organisée de tout ce que contient le dossier A,

C'est a dire les sous dossiers présentés en rouge et en gras, par exemple, et nom de videos doit etre cliquable pour renvoyer vers un unique lecteur me permettant de les lires.

Exemple.: je liste le dossier 'essai'

Voici ce que je voudrais voir apparaitre:

Sous dossier b
video 1
video 2

Sous dossier c
video 3
video 4

Sous dossier d
video 5
video 6

Et quand je clique sur le nom d'un video (1 par ex) , ça me renvoie vers un lecteur qui se situe a une url de ce type:

http://monsite.f/?q=node/11&video=video1.flv

Comment faire cela? Merci de votre precieuse aide.