Php recherche fichier

Bonjour,
je cherche un moyen simple d 'integrer un petit explorer à mon apllication php
en effet je dois aller récuperer le contenue d un fichier qui peut être nimporte ou sur le DD
une idée serai la bien venue merci ?
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Pour rendre la recherche plus générale (genre parmettre de rechercher tous les fichiers .C par exemple en rentrant *.c), tu peux utiliser la fonction ereg() quand tu compares ton nom de fichier avec ta recherche.
    1. heu autant pour moi, sri lumpa a filé la réponse avant ^^

      edit: pour remonter dans les dossier supérieur il te suffit d'indiquer ..\..\gnagna, réste plus qu'a remonter jusqu'au bon niveau :)
      1. Bonjour,

        voici l'algo et quelques indices:

        // partir de la racine du disque au debut
        fonction parcourir ($chemin,$nomdufichierrecherché)
        {
        tableau = scandir($chemin); //scandir renvoie dans un tableau tous les dossier et fichiers contenu dans $chemin

        for($i = 2;$i < count(tableau);$i++) //on commence à deux, car scandir renvoie aussi "." et ".."
        {
        si $tableau[$i] nest pas un dossier;
        si $tableau[$i] == $nomdufichierrecherché (attention aux majuscules) ---> fin renvoyer $chemin."antislash".$tableau[$i]
        sinon
        parcourir ($chemin."antislash".$tableau[$i],$nomrecherché); // slash ou antislah suivant unix ou windows
        }
        }

        voila voila :) fonction récursive. Si tu n'as pas compris, demande :)
        bonne continuation.

        ps: si ton disque est vraiment énorme, tu peux toujours utiliser un moteur d'indexation comme phpdig (phpdig.net)
        1. Si j'ai bien compris, on donne un nom de fichier ou de dossier et ton script va aller le rechercher dans le disque c'est ça ?

          Ce que tu peux faire c'est quelque chose du genre
          result = array();
          $root = "/";
          
          
          function lookAt($rootDir, $lookingFor)
          {
              if(is_dir($rootDir)){
                  if(($dir = opendir($rootDir)) !== false){
                      while($filename = readdir($dir)){
                          if($filename != '.' && $filename != '..'){
                              if($filename == $lookingFor){
                                  result[] = "$rootDir/$filename";
                              }
                              if(is_dir($filename)){
                                  lookAt("$rootDir/$filename", $lookingFor);
                              }
                          }
                      }
                      closedir($dir);
                  }
              }
          }

          J'ai pas testé mais ça devrait marcher, par contre c'est un poil bourrin et tu ne pourras explorer à priori que les fichiers et dossiers du dossier racine de PHP...