2016-06-12 9 views
1

私はPHPスクリプトを2つ以上のテキスト文書を開いて読み上げようとしています。複数のファイルをPHPで開く

次のように私の現在のスクリプトは次のとおりです。

<?php 
 
\t //$searchthis = "ignore this"; 
 
\t $matches = array(); 
 
\t $FileW = fopen('result.txt', 'w'); 
 
\t $handle = @fopen("textfile1.txt", "r"); 
 
\t ini_set('memory_limit', '-1'); 
 
\t if ($handle) 
 
\t { 
 
\t \t while (!feof($handle)) 
 
\t \t { 
 
\t \t \t $buffer = fgets($handle); 
 
\t \t \t if(stripos($buffer, $_POST["search"]) !== FALSE) 
 
\t \t \t \t $matches[] = $buffer; 
 
\t \t } 
 
\t \t fwrite($FileW, print_r($matches, TRUE)); 
 
\t \t fclose($handle); 
 
\t } 
 
?>

私は多分それらの8以下のように、ファイルの束のようはfopenしようとしています。

これらのファイルはどのように開いて読みますか?

ご迷惑をおかけして申し訳ありません。

+0

ストップ '@のfopen'をやって、すべてのエラーを抑制し、' '@があるかもしれない - と' fopen'と、エラーが共通して重要です。あなたは自分で何を試しましたか? – ceejayoz

+0

私はそこにそれが必要ないと思う。何もこれほどまでにエラーはありません。私は、複数のファイルをどのように開いて/ 1つの変数で読むことができるのか不思議です。 – Ryan

+0

私はこれをすることはできませんが、私は次のようなものになります: $ multiplefiles = fopen( "textfile1.txt"、 "textfile2.txt"、 "textfile3.txt"、 "r"); 今は明らかにfopenパラメータのためにそれを行うことはできませんが、代替方法がありますか? – Ryan

答えて

0

プログラムは防御的に、戻り値の関数をチェックして、コードに関する誤った仮定をしないようにします。

ファイルを読み込み、それをバッファリングするためにPHPの関数があります:

enter link description here

0

あなたはたくさんのファイルを開きたいだろう、なぜ私にはわからない、それは確かに多くのを使用します。メモリ、とにかく、あなたはforeachfile_get_contents機能を使用することができます。

$files = array("textfile1.txt", "textfile2.txt", "textfile3.txt"); 

$data = ""; 
foreach ($files as $file) { 
    $data .= @file_get_contents($file); 
} 

echo $data; 
+0

は配列でそれを持つとは思わなかった。先端のおかげで! – Ryan

0

配列にファイル全体を読み込むfileと呼ばれるPHPの関数があります。

<?php 

    // "file" function creates array with each line being 1 value to an array 

    $fileOne = file('fileOne.txt'); 
    $fileTwo = file('fileTwo.txt'); 

    // Print an array or do all array magic with $fileOne and $fileTwo 
    foreach($fileOne as $fo) { 
     echo $fo; 
    } 

    foreach($fileTwo as $ft) { 
     $echo $ft; 
    } 
?> 

よりについてを読む:file機能イオンPHPを

関連する問題