Lecture de fichier : conversion d'un script perl en php
Bonjour,
Je suis en train d'adapter un bout de code réalisé en PERL vers du PHP.
L'idée et de parcourir un fichier (logs).
Dès que je trouve une ligne d'intérêt (preg_match) je souhaiterais récupérer alors la ligne suivante...
J'ai un problème quant au comportement de la fonction while.
C'est simple en PERL:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| // Parcours du fichier
while (<MONFICHIER>) {
// Si regex match
if (/.../) {
// J'affiche la ligne d'intérêt
print ligne1\n;
// Je parcours le reste du fichier jusqu'à la ligne suivante (inclue)
while (<MONFICHIER>) {
print ligne2;
last; //on sort du 2° while
}
}
} |
Ca me semble également simple en PHP mais cela ne fonctionne pas...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php
$monfichier = fopen("...", "r") ; // ouverture en lecture
while ( !feof($monfichier) ) {
$ligne = fgets($monfichier);
if(preg_match('/^\[(Mon|Tue|Wed|Thu|Fri|Sat|Sun)/i', $ligne)) {
print $ligne;
while (!feof($monfichier)):
$ligne2 = fgets($monfichier);
print $ligne2;
endwhile;
}
}
fclose ($monfichier) ;
?> |
Merci d'avance.
SR