Php et traitement d'un fichier de log

Fermé
cable - 1 avril 2004 à 14:12
 Intox - 19 juil. 2011 à 09:18
salut,

j'ai un fichier de log dont je veux extraire certains champs, tout d'abord j'aimerais supprimer la première ligne puis pour les autres lignes prendre les deuxièmes et troisièmes champs pour les afficher dans une page web sous forme de tableau.... les champs du fichiers log sont séparés par des ";".
J'arrive pas à mettre ça en place en php ou sinon en bash unix.

Merci de votre aide

Cable
A voir également:

3 réponses

Salut,

tu crées un compteur, tu mets le chemin de ton fichier dans une variable, tu utilises la fonction explode() qui te met tout le contenu de ton fichier dans un tableau, ce qui donne :

<?php

$i = 1 // On commence à la deuxième ligne.
$monFichier = "chemin/monFichier.log"

if (file_exists($monFichier ))
{
// Ouverture du fichier
$file = fopen($monFichier , "rb");

while($ligne = fgets($file))
{
// Exclusion des lignes vides
if (strlen(trim($ligne)))
{
// On lis les chaines séparées par des ";"
$tabContenuMonFichier = explode(";",$ligne);

// Suivant les index du tableau on obtient ce que l'on veut
$nom = $tabContenuMonFichier [0];
}
$i++; // Le compteur te permet de récupérer les enregistrements // là ou tu veux et par cas de faire des traitements spécifiques
// pour certaines lignes.
}
}
1
Désolé pour l'indentation du code, c'est la première fois que je poste sur le forum :)
0
Nettogrof Messages postés 521 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 décembre 2005 672
1 avril 2004 à 17:36
Salut

Je ne suis pas un pro en PHP mais voici la facon que je fais:

<CODE>
$fichierLog = "stat/exemple.log";

$ouvLog = fopen ($fichierLog , "r");
if ($ouvLog){
$logs = file($fichierLog);
fclose($ouvLog);
print " <TABLE BORDER=1><TR><TH>2e element</TH><TH>3e element</TH></TR>";
for ($ligne = 1 ; $ligne < count($logs) ; $ligne++){
$element = explode(";", $logs[$ligne]);
print "<TR><TD>$element[1]</TD><TD>$element[2]</TD></TR>";
}
print "</TABLE>";
}
</CODE>

C'est ma facon de faire... si ca peut t'aider!! gêne-toi pas pour t'en servir

Nettogrof tseb era seiromem emoS
www.chyl.ca/jeux/clans/
0
Pas besoin de fopen normalement...

$aFichier = file("nomfichier.txt") or die("Impossible d'ouvrir le fichier");

for ($i = 1; $i < count($aFichier); $i++ )
{
list($champ1, $champ2, $champ3, $champ4) = split(';', $aFichier[$i]);

// affichage...
}
0