2016-11-20 5 views
0

今は1つのテキストファイルだけを検索していますが、ディレクトリ全体を検索したいのですが、その方法についてはわかりません:/複数のテキストファイルから文字列を検索する方法のヘルプが必要

<?php 
$searchfor = "example"; 
$file = 'file.txt'; 
$contents = file_get_contents($file); 
$pattern = preg_quote($searchfor, '/'); 
$pattern = "/^.*$pattern.*\$/m"; 
if (preg_match_all($pattern, $contents, $matches)) { 
echo "<pre>Matches were found for $searchfor:\n"; 
echo implode("\n", $matches[0]); 
?> 

「file.txt」という1つのファイルを検索するのではなく、ファイルのディレクトリ全体を検索して文字列を検索する必要があります。

ありがとうございます。

答えて

0

これは動作するはずです:

<?php 
$searchfor = "example"; 
$dir = "."; 
$pattern = preg_quote($searchfor, '/'); 
$pattern = "/^.*$pattern.*\$/m"; 
$files = scandir($dir); 
foreach($files as $file) { 
    $contents = file_get_contents($file); 
    if (preg_match_all($pattern, $contents, $matches)) { 
     echo "<pre>Matches were found for $searchfor:\n"; 
     echo implode("\n", $matches[0]); 
    } 
} 
?> 
+0

私は、私はこれらの事の束を得たことを実行したとき... http://prntscr.com/d9gv3pあなたは '$ dirをディレクトリ・パスを指定する必要が –

+0

'。私はスクリプトの現在のディレクトリで実行されるコードを書いたので、スクリプト内の一致を見つけるだけです。 – varlogtim

関連する問題