2017-12-27 9 views
0

私は、テキストファイルを読み、ユーザーが単語とその仕事を完全に検索できるようにするPHPコードを持っています。ユーザーが検索を行うと、システムはそれが存在する行番号を要求された文字列が表示されますどこPHPを使用して複数のTEXTファイルを読み込み、ファイル名を表示するには?

ファイルの内容は、アラビア

です。

私が今したいのは、システムに複数のテキストファイルを読み込ませることです。ユーザーが単語を要求すると、システムはユーザーの要求を見つけたファイルの名前を表示します。

これは可能ですか、100個のファイルがある場合、このプロセスにはどのくらいの時間がかかりますか?

コード:

<?php 

$myFile = "arabic text.txt"; 

$myFileLink = fopen($myFile, 'r'); 

$line = 1; 

if(isset($_POST["search"])) 
{ 
    $search =$_POST['name']; 

while(!feof($myFileLink)) 
{ 
    $myFileContents = fgets($myFileLink); 
    if(preg_match_all('/('.preg_quote($search,'/').')/i', $myFileContents, $matches)) 
    { 

     foreach($matches[1] as $match) 
     { 
      echo "Found $match on Line $line"; 
     } 

    } 

    ++$line; 

} 

} 

fclose($myFileLink); 

//echo $myFileContents; 
?> 

<html> 
    <head> 
    </head> 
    <meta http-equiv="Content-Language" content="ar-sa"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <body> 
    <form action="index.php" method="post"> 
      <p>enter your string <input type ="text" id = "idName" name="name" /></p> 
      <p><input type ="Submit" name ="search" value= "Search" /></p> 
    </form> 
    </body> 
</html> 
+0

私はexec関数でgrepコマンドを示唆し、https://stackoverflow.com/a/17231293/6582942 – pravindot17

+0

@ pravindot17最初、私はPHPを使用していると私は、テキストの内容を読む必要がこの回答を参照してください。ファイル。 –

+0

私はそれがLinuxのgrepを実行するphpのexec機能を提案した理由だと知っている – pravindot17

答えて

0

だからあなたが欲しいコンテンツを返す関数で、関数にあなたの現在の作業コードを配置する必要があります。

function readFile($fileName) 
{ 
    // ...your code 
    return $yourMessage; 
} 

$fileNames = array("file1.txt", "file2.txt"); 
$result = array(); 
foreach($fileNames as $name) 
{ 
    $message = readFile($name); 
    $result[$name] = $message; 
} 

これで、$結果を繰り返し処理し、必要な方法で印刷することができます。

+0

私は、システムが指定されたディレクトリに存在するTEXTファイルを読むようにしたい。毎日より多くのファイルが追加されるのでファイルの名前をhardocedしたくない。 –

0

すべてのファイルを1つの配列にまとめるには、scandir( '/ mydir /')を使用します。

$files = scandir('/mydir/here/'); 
foreach($files as $file) { 
    if (strpos($file, '.txt')) { 
     //dosomething 
    } 
} 
関連する問題