немного вопрос. У меня есть этот код, который отлично подходит для файлов, но если я пытаюсь выполнить поиск по имени каталога, результат будет пустым. Как я могу это исправить?Glob() файлы поиск, вопрос
<?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/тест/
результат: пустой (я хочу:/somedir/тест /)
somedir/тест/test.txt
результат: OK
Я хочу искать также в именах каталогов, как я могу это сделать?
Спасибо вам большое! Вы мне очень помогли! – Peter
Другой вопрос, является ли этот код безопасным? Пользователи не могут перечислить файлы сервера? Только то, что я получаю от пользователей, является переменная $ search. – Peter
@Peter: он должен * быть безопасным из-за вызова 'basename'. Тем не менее, я никогда не пробовал это раньше, поэтому я не могу точно сказать, что они не могут вырваться из него, используя специально закодированные символы. – Powerlord