一个小问题。我有这个代码,它适用于文件,但如果我尝试搜索目录名称,结果为空。我该如何解决这个问题?
<?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 / test /)
somedir /测试/ test.txt的
结果:好的
我想在目录名中搜索,我该怎么做?
答案 0 :(得分:0)
你的脚本运行正常。我认为webserver用户没有给定目录的权限。
答案 1 :(得分:0)
如果要搜索目录,则必须更改if(is_file($d))
块。现在,您只需在遇到目录时再次调用listdirs
...但这也意味着您永远不会看到带有指向该目录的链接的print
。
我建议在foreach
中执行类似的操作:
$filename = basename($d);
if(eregi($search,$filename)){
print "<a href=http://someurl.com/" . $d .">". $d . "</a><br/>";
}
if(is_dir($d)){
listdirs($d."/",$search);
}