une petite question. J'ai ce code, qui fonctionne parfaitement pour les fichiers, mais si j'essaie de chercher sur un nom de répertoire, le résultat est vide. Comment je peux réparer ça?Recherche de fichiers Glob(), question
<?php
function listdirs($dir,$search)
{
static $alldirs = array();
$dirs = glob($dir."*");
foreach ($dirs as $d){
if(is_file($d)){
$filename = pathinfo($d);
if(eregi($search,$filename['filename'])){
print "<a href=http://someurl.com/" . $d .">". $d . "</a><br/>";
}
}else{
listdirs($d."/",$search);
}
}
}
$path = "somedir/";
$search= "test";
listdirs($path,$search);
?>
somedir/test/
résultat: blanc (je veux:/somedir/test /)
somedir/test/test.txt
résultat: OK
Je veux rechercher aussi dans les noms de répertoire, comment je peux faire cela?
Merci beaucoup! Tu m'as beaucoup aidé! – Peter
Une autre petite question, ce code est-il sûr? Les utilisateurs ne peuvent pas lister les fichiers du serveur? Seulement ce que je reçois des utilisateurs est la variable $ search. – Peter
@Peter: Il * devrait * être sûr, à cause de l'appel 'basename'. Cependant, je ne l'ai jamais essayé auparavant, donc je ne peux pas dire avec certitude qu'ils ne peuvent pas en sortir en utilisant des caractères spécialement encodés. – Powerlord