【问题标题】:How can I create a search form that searches files in a folder? [closed]如何创建搜索文件夹中文件的搜索表单? [关闭]
【发布时间】:2013-12-29 21:29:31
【问题描述】:

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

有没有办法做到这一点?

【问题讨论】:

  • 问题太笼统了,能详细点吗?
  • 几秒钟后....

标签: php html search-engine


【解决方案1】:
<?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 命令更改为搜索框输入的名称。这只会找到与您的搜索完全匹配的内容。可以进行一些更改以找到相近的匹配项。

【讨论】:

  • 我通常会谴责这几乎复制了另一个答案,但您对其进行了解释并根据 OP 的需要对其进行了修改。 +1。但是,在这里逐行解释可能会有所帮助。
  • 是的,我在上一个回答者之后几秒钟发布了我的。理所当然,我们都做了合乎逻辑的事情并找到了很好的 ole' php.net
  • 好的,所以为了确定,我只是把它放在我的代码顶部,用我的文件夹替换“your_folder_here”,用我的搜索框输入的名称替换“$_POST”。对吗?
  • 好吧,将 SEARCHBOX_INPUT 更改为您输入的名称。这假设您只是在搜索框上使用标准提交按钮和表单,没有 ajax。此脚本将回显与搜索输入匹配的文件的链接。让我知道它是否给您带来任何麻烦。祝你好运。
  • 我只需将此代码放在所需的结果页面上。真的没有理由不这样做。只需将整个代码部分放在 html 中您希望显示结果的位置即可。
【解决方案2】:
$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 得到这个。希望对您有所帮助。

【讨论】:

  • 我有多个文件要搜索,而不仅仅是一个
  • 链接到 PHP.net 上的实际页面会有所帮助。除非你想在这里解释。
【解决方案3】:

我就是这样做的,尽管它显示了该目录中的所有文件,并且没有给出每个文件的简要描述。不知道能不能帮忙修改一下。

<?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");

?>

【讨论】:

    猜你喜欢
    • 2021-11-10
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多