Php recherche fichier
nico57
-
Sri Lumpa Messages postés 177 Statut Membre -
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 ?
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
-
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 genreresult = 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... -
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) -
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 :) -
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.