2011-12-23 4 views
-1

私のウェブサイトには検索機能があります。私はそれが私のサーバー上のファイルの特定のフォルダを検索し、そこから結果を表示したいと思います。私はむしろデータベースを使用しないでください。フォルダ内のファイルを検索する検索フォームを作成するにはどうすればよいですか?

これを行う方法はありますか?

+1

質問は、あなたがより手の込んだしてくださいすることができ、あまりにも漠然としているのですか? –

+0

大丈夫1秒 – ssrsrssrrsrsr

答えて

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コマンドも、検索ボックス入力の名前に変更してください。これは、あなたの検索の正確な一致を見つけるだけです。近いマッチを見つけるためにいくつかの変更を行うことができます。

+0

私は通常、別の答えをコピーするのにこれを非難するつもりですが、あなたはそれを説明し、OPのニーズに従って修正しました。 +1。ただし、ここでは行単位の説明が参考になるかもしれません。 – Purag

+0

ええと、前回の回答者から数秒後に投稿しました。私たちは両方とも論理的なことをして、良いole 'を打った' php.net –

+0

大丈夫ですので、確かに私はこれを私のコードの一番上に置き、 "your_folder_here"を自分のフォルダと "$ _POST"検索ボックスの名前を入力します正しい? – ssrsrssrrsrsr

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から取得しました。これがあなたに役立つことを願っています

+0

私はこのことを理解していません... – ssrsrssrrsrsr

+0

と私は複数のファイルが1つだけでなく検索するために – ssrsrssrrsrsr

+0

それはPHP.netの実際のページにリンクするのに役立ちます。これをここで説明しない限り。 – Purag

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

?>