我的网站上有搜索功能。我希望在我的服务器上搜索某个文件夹中的文件并显示结果。我宁愿不使用数据库。
有办法做到这一点吗?
答案 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;