在子文件夹中搜索

时间:2012-07-06 01:05:42

标签: php search subdirectory

我需要将搜索扩展到子文件夹。

我需要一点帮助来修改和添加这个脚本的函数:

<?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 
} 
?> 

1 个答案:

答案 0 :(得分:0)

我在我的网站上的页面中做了类似的事情,我尝试使用一些新的递归目录列表功能,但它们对我的应用程序没有用,但它们可能适合你。查看此页面。 http://php.net/manual/en/class.recursivedirectoryiterator.php

PHP内置了其他类似的功能,链接到该页面。

对我来说,我使用ajax来调用我在scandir()中构建的php函数,并将它传递给下一个要列出的文件夹。这工作得很好,因为它始终是当前目录的子文件夹。这样我就可以在嵌套列表中扩展它。