Php et traitement d'un fichier de log
cable
-
Intox -
Intox -
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
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - 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.
}
}
Intox
Désolé pour l'indentation du code, c'est la première fois que je poste sur le forum :)
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/