Quella che avevo scritto andava bene, solo che poi mi hanno fatto giustamente notare che per eseguirla occorreva un inutile spreco di memoria, quando con qualche accortenza si può diminuire (e di molto) l'utilizzo della memoria.
Modifica la funzione in questo modo
Codice PHP:
function FoundWord($file) {
$file_handle = fopen($file,'r'); //apre il file
$found=false;
while ( (!feof($file)) && (!$found) ) { //scorre il file fino alla fine o fino a che non trova la parola
$parole = explode(" ",fgets($file_handle, 4096); //esplode in un array una singola riga del file
$i = 0;
while (($i<=(count(parole)-1)) && (!$found)) { //cerca la parola
if ($parole[$i] == "parola_cercata") {
$found = true;
$output = ($parole[$i+1]);
}
else {
$i++;
}
}
}
if (empty($output)) { $output = NULL; }
return $output;
}