$path = "/path/to/wordlist.txt";
$word = "Word";
$handle = fopen($path,'r');
$currentline = 1; //in case you want to know which line you got it from
while(!feof($handle))
{
$line = fgets($handle);
if(strpos($line,$word))
{
$lines[$currentline] = $line;
}
$currentline++;
}
fclose($handle);
Если вы хотите найти только одну строку, где встречается слово, то вместо сохранения его в массиве сохраните его где-нибудь и просто break
после сопоставления.
Этодолжен быстро работать с файлами любого размера (использование file () для больших файлов, вероятно, не очень хорошо)