Php rajout fonction comment puis-je

Noel-barbu Messages postés 305 Statut Membre -  
Noel-barbu Messages postés 305 Statut Membre -
Bonjour,

pouvez-vous m'aidez à rajouter la fonction qui me permettrais de lister les .mp3, .wav, .odt, .jpg


<?php
function listDirs($Current_Path = '.', $extension = 'pdf') {
$dirs_in_dir = array();
$files_in_dir = array();
if ($handle = opendir($Current_Path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$path = $Current_Path.'/'.$file;
if (is_dir($path)) {
$dirs_in_dir[]=$path;
} else {
$files_in_dir[]=$file;
}
}
}
}
closedir($handle);
$nb_files = count($files_in_dir) > 0;
$nb_dirs = count($dirs_in_dir) > 0;
if($nb_files || $nb_dirs) {
echo '<ul>'."\n";
// Si des fichiers existent...
if($nb_files) {
foreach ($files_in_dir as $file) {
$pathinfo = pathinfo($file);
if ($pathinfo['extension'] == $extension) {
$href = $Current_Path.'/'.$file;
echo '<li><a href="'.$href.'">'.$file.'</a></li>'."\n";
} else {
echo '<li>'.$file.'</li>'."\n";
}
}
}
// Si des dossiers existent...
if($nb_dirs) {
// Tri inverse
rsort($dirs_in_dir);
foreach ($dirs_in_dir as $dir) {
echo '<li><h2 class="title">'.substr(strrchr($dir, "/"), 1).'</h2>';
listDirs($dir);
echo '</li>'."\n";
}
}
echo '</ul>'."\n";
}
}

listDirs();
?>

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Je ne comprend pas ta question....
    Il suffit de passer des paramètres à ta fonction..... par defaut..elle cherche les PDF... mais si tu l'appelles de cette façon:
    /* lister les fichiers MP3 du dossier courant */
    
    listDirs('.','mp3'); 
    


    Cordialement,
    Jordane
    0
    1. Noel-barbu Messages postés 305 Statut Membre 2
       
      Donc si je procède ainsi cela est bon ?


      function listDirs($Current_Path = '.' ,' mp3' ) {
      $dirs_in_dir = array();
      $files_in_dir = array();
      if ($handle = opendir($Current_Path)) {
      while (false !== ($file = readdir($handle))) {
      if ($file != "." && $file != "..") {
      $path = $Current_Path.'/'.$file;
      if (is_dir($path)) {
      $dirs_in_dir[]=$path;
      } else {
      $files_in_dir[]=$file;
      }
      }
      }
      }
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > Noel-barbu Messages postés 305 Statut Membre
         
        Non....
        il te suffit juste de mettre mp3 QUAND tu appelles la fonction .... comme je te l'ai écrit.
        0
      2. Noel-barbu Messages postés 305 Statut Membre 2 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ahh comme ça !
        listDirs($Current_Path = '.', $extension = 'pdf','mp3','wav')


        ou comme ça :
        listDirs($Current_Path = '.','pdf','mp3'  $extension = 'wav')


        car si je fais comme cela ça ne fonctionne pas:
        listDirs($Current_Path = '.','pdf','mp3','wav')


        etc ....
        0
      3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > Noel-barbu Messages postés 305 Statut Membre
         
        Ta fonction actuellle ne permet de traiter qu'une extension à la fois...
        si tu veux en mettre plusieurs il va falloir y faire quelques modifications. ..
        0
      4. Noel-barbu Messages postés 305 Statut Membre 2 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        mouais ok ....
        0