如何创建搜索文件夹中文件的搜索表单?

时间:2011-12-23 08:55:46

标签: php html search-engine

我的网站上有搜索功能。我希望在我的服务器上搜索某个文件夹中的文件并显示结果。我宁愿不使用数据库。

有办法做到这一点吗?

3 个答案:

答案 0 :(得分:3)

<?php
$dir = "/your_folder_here/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if($file == $_POST['SEARCHBOX_INPUT']){
                echo('<a href="'.$dir . $file.'">'. $file .'</a>'."\n");
            }
        }
        closedir($dh);
    }
}
?>

主要来自php.net。显然改变你的文件路径。同时将中间的$ _POST命令更改为搜索框输入的名称。这只会找到您搜索的完全匹配项。可以进行一些更改以找到近似匹配。

答案 1 :(得分:0)

$dir = "/etc/php5/";
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if($file == 'songs1.php')
                //ur code here ... 
        }
        closedir($dh);
    }
}

我是从PHP.net得到的。我希望这会对你有所帮助。

答案 2 :(得分:0)

这就是我这样做的方式,虽然它显示了该目录中的所有文件,并没有给出每个文件的简要说明。我不知道你是否可以帮忙修改它。

<?php
print "<h2>Showing results for $search</h2>";

$dirName="MYBOOKS";
$dp=opendir($dirName);
chdir($dirName);

 while ($currentFile !== false) {

$currentFile = readDir($dp);
$theFiles[] = $currentFile;
}

$BookFiles= preg_grep("/pdf$|gif$|png$|jpg$|jed$/", $theFiles);

$output="";
foreach ($BookFiles as $currentFile) {

$output .= <<< Here
<ul>
<li><a href=MYBOOKS/$currentFile>$currentFile</a></li>
</ul>
Here;
}

 $fp=fopen("BookIndex.htm","w");
fputs ($fp,$output);
fclose($fp);

readfile ("BookIndex.htm");

&GT;