Php recherche fichier

nico57 -  
Sri Lumpa Messages postés 177 Statut Membre -
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. Sri Lumpa Messages postés 177 Statut Membre 69
     
    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...
    0
  2. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28
     
    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)
    0
  3. [o.o]REplay Messages postés 381 Date d'inscription   Statut Membre 28
     
    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 :)
    0
  4. Sri Lumpa Messages postés 177 Statut Membre 69
     
    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.
    0