Php et traitement d'un fichier de log
Fermé
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
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:
- Php et traitement d'un fichier de log
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Ouvrir un fichier .bin - Guide
- Impossible de supprimer un fichier - Guide
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.
}
}
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.
}
}
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
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/
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/
19 juil. 2011 à 09:18