Je travail actuellement sur un parseur de log en PHP.
Je prends un fichier de log, je l'ouvre, je lis ligne par ligne, je modifie les données et j'insère ce qui m'intéresse dans une base de données. Tout va bien.
Maintenant, j'aimerai pouvoir interrompre ce processus de parse et le relancer ensuite à l'endroit où il s'est arrêté dans le fichier de log.
J'ai donc pensé à taguer les lignes de logs traitées au fur et à mesure du parse.
Voilà mon code :
Code : Tout sélectionner
$file='mon_fichier.log';
$content = fopen($file, 'r+');
while($content && !feof($content)){
$line=fgets($content);
ma_fonction_de_traitement($line);
// insertion du tag <FAIT>
fputs($content, '<FAIT>');
}
fclose($content);
Pensez vous que ma méthode qui consiste à taguer les lignes traitées est une bonne pratique pour éviter de parser deux fois les mêmes lignes ? Et si oui, comment faire pour taguer ces lignes correctement ?
Enfin, ce serait royal si, en plus, on pouvait me donner l'équivalent de ce code en PERL
Merci par avance pour votre aide,