我需要将搜索扩展到子文件夹。
我需要一点帮助来修改和添加这个脚本的函数:
<?php
if(isset($_GET['s']) and $_GET['s'] != '') {
$dir = 'dir/sub-dir';
$ext = '.htm';
$search = $_GET['s'];
$results = glob("$dir/*$search*$ext");
if(count($results) != 1) {
foreach($results as $item) {
echo "<li><a href='$item'>$item</a></li>\r\n";
}
}
if(count($results) == 1) {
$item = $results[0];
echo "<li color='blue'><a href='$item'>$item - only result</a></li>\r\n";
}
if(count($results) == 0) {
echo "<li>no results to display</li>\r\n";
}
}
else {
?>
<form action=''>
<input name='s'>
<input type='submit'>
</form>
<?php
}
?>
答案 0 :(得分:0)
我在我的网站上的页面中做了类似的事情,我尝试使用一些新的递归目录列表功能,但它们对我的应用程序没有用,但它们可能适合你。查看此页面。 http://php.net/manual/en/class.recursivedirectoryiterator.php
PHP内置了其他类似的功能,链接到该页面。
对我来说,我使用ajax来调用我在scandir()中构建的php函数,并将它传递给下一个要列出的文件夹。这工作得很好,因为它始终是当前目录的子文件夹。这样我就可以在嵌套列表中扩展它。