0

私はphpを初めて使用します。テキストファイルの5行目を読んで、特定の文字列が含まれているかどうかを確認する必要があります。これを行う最も効率的な方法は何でしょうか。このメソッドを使用してすべての行を準備できることを理解しています。ここにカウンターを配置し、5の場合はループを中断する必要がありますか?またはそれへのより良い方法があります..

 $file = fopen($fileName,'r');
    while(!feof($file)) 
    { 
        $name = fgets($file);            
    }

    fclose($file);

編集

コードをこれに更新しましたが、文字列が存在していても、strposは常に文字列を見つけることができません。5行目が次のようになっていることを確認しました。PACKAGE_NAME:com.boom.appfree

//read entire file into an array 
$lines = file($target_path);

//check line 5 if it contains free
$pos = strpos($line[4], 'free');

if ($pos === false) 
{
  $subject = "Paid Log uploaded";
} else 
{
   $subject = "Log uploaded";
}

アドバイスをお願いします。

4

2 に答える 2

1

$lines =file("filename.txt");

次に、5行目を取得します。$lines[4]それを検索して、探している単語を検索しますstrpos

于 2012-07-09T15:40:50.330 に答える
0

ファイルの行が同じサイズの場合は、fseek:http: //php.net/manual/en/function.fseek.phpを使用して5行目にジャンプできます。

それ以外の場合は、カウンターを追加してwhileループを解除しても問題なく機能します。

于 2012-07-09T15:45:58.567 に答える