Rechercher des lignes dans un fichier en php

2 Méthodes en php pour recherche des lignes qui correspondent a un pattern.

Méthode 1 - Rapide & gourmande en mémoire sur de gros fichiers

  1.     $tab = file('/path/fichier.txt');
  2.     $pattern = "/recherche/i";
  3.     $line = preg_grep($pattern, $tab);
  4.     print_r($line);    //affiche les lignes qui contiennent le mot recherche

Télécharger

Méthode 2 - Plus lent mais moins gourmand

  1. $fh = fopen('/path/fichier.txt', 'r') or die($php_errormsg);
  2. while (!feof($fh)) {
  3.     $line = fgets($fh, 4096);
  4.     if (preg_match($pattern, $line)) { $result[ ] = $line; }
  5. }
  6. fclose($fh);
  7. print_r($result)

Télécharger