Php 搜索文件夹中的文件

Php 搜索文件夹中的文件,php,Php,我的网站上有一个搜索框。如果学生输入一些文本,脚本必须在文件夹中搜索具有该名称类型的文件 如何读取文件夹和搜索文件?请阅读PHP手册上的。根据您的操作系统和文件夹中文件的大小,您可以采用几种不同的方法。最简单的方法是使用glob(): 这将为您提供与该目录中的“ls*something*”相同的结果 如果您考虑了更具体的搜索模式,并且目录中的文件数量适中,那么scandir()将为您提供一个可以使用preg_match()的数组 如果你有大量的文件,你可以考虑杠杆/Ur/bin /定位,或者/U

我的网站上有一个搜索框。如果学生输入一些文本,脚本必须在文件夹中搜索具有该名称类型的文件


如何读取文件夹和搜索文件?

请阅读PHP手册上的。

根据您的操作系统和文件夹中文件的大小,您可以采用几种不同的方法。最简单的方法是使用glob():

这将为您提供与该目录中的“ls*something*”相同的结果

如果您考虑了更具体的搜索模式,并且目录中的文件数量适中,那么scandir()将为您提供一个可以使用preg_match()的数组


如果你有大量的文件,你可以考虑杠杆/Ur/bin /定位,或者/Ur/bin /查找。这些类型的php shell执行会导致系统负载。如果你有大量的学生,或者是面向公众的搜索,那么你需要采用不同的方法。

你可以使用该函数,它可以返回一个排序列表,然后你可以用搜索数组的相同方式搜索该列表。然后,您还可以使用的实现从应用程序中提供“您的意思是什么?”样式的响应。

MySql?您从未连接过MySql或db。另外,服务器上不存在glob(“c:/windows/$safer”)的位置

如果您想使用glob进行搜索,则需要使用几个ifs、elseifs和else

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

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