2011-02-05 87 views
0

我正在嘗試逐行讀取文本文件。 我添加了一個條件,如果第一個單詞不是「插入」,則跳過它,但如果「插入是第一個單詞」,則將其打印出來。PHP讀取每個文件的第一行。 *輸出覆蓋前一行*

下面是代碼:

$matching = "^insert"; 

$file = fopen("test.sql.text", "r") or exit("Unable to open file!"); 
while(!feof($file)) 
    { 

     if(eregi($matching, fgets($file))){ 
     echo fgets($file)."<br />"; 
     } else 
     echo "invalid beginning value <br />"; 

    } 
fclose($file); 

我有一個文件中的兩線都開始用「插入」。出於某種原因,它似乎在第一次插入第二次插入。 我希望能夠打印出以插入開頭的任何行。

任何幫助或建議將不勝感激!

謝謝。

回答

1
$line = fgets($file); 

if(stripos($line, 'insert') === 0){ 
    echo $line . '<br />'; 
} else { 
    echo 'invalid beginning value <br />'; 
} 

在你的代碼讀過線if(),如果它符合你要求的PHP的情況看下一行

PS:正則表達式是這裏的過度設計,stripos足夠檢查該行是否以某個子字符串開頭。

+0

好的。我曾經總是犯這樣的錯誤。 – Soumya 2011-02-05 02:38:17

相關問題