A voir également:
- Php recherche fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
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 genre
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...
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...
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)
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)