0
検索した文字列に一致するものがあれば、ファイルを読み込んで特定の行を取得しています。検索する文字列が配列に格納されています。私は文字列を取得する配列をループするたびにファイルを開くことはできません。しかし、ファイルの最初の行に行き、再び検索を開始したい。このファイルには約15k行が含まれています。私は毎回(ループ内で)そのファイルを開いている場合は、正常に動作します。しかし、ループ外のファイルを開く場合。最初に一致した文字列だけが返されます。PHPのファイルの最初の行に移動するには?
$scheme_code =
array("106212","112422","114239","104685","100122","118191","131666");
foreach($scheme_code as $searchthis) {
$handle = @fopen("myfile", "r");
//DONT WANT TO DO THE ABOVE LINE FOR EVERY ITERATION
if ($handle)
{
//echo "handle open"."<br>";
while (!feof($handle))
{
$buffer = fgets($handle,4096);
if(strpos($buffer, $searchthis) !== FALSE){
$matches[] = $buffer;
}
}
}
}
しかし、この
$handle = @fopen("Myfile", "r");
foreach(){
// inside foreach
//go to the first line of the file
}
fclose($handle);
EDITような何かをしたい - 私は巻き戻しを試してみました()。私は「)(巻き戻し:ストリームがが求めてサポートしていません」の通知を得た。ここ
私は巻き戻しを使用する場合http://php.net/manual/en/function.rewind.php – prateekkathal
を見てください、それはファイルのdoesntのサポートが求めていると言います。 –