Parcer le contenu d'un fichier en php
boby87000
-
boby87000 Messages postés 113 Date d'inscription Statut Membre Dernière intervention -
boby87000 Messages postés 113 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais faire un scrpit php pour parcer le contenu d'un fichier et recuprerer des champs
par exemple:
Started,StartedDateTime,Time,Sent,Received,Method
00:00:00.431,2009-Sep-21 11:13:12.305,0.086,803,110097,GET,200,text/css,http://www.test.fr/test/fra/css/StylesV9.3.0.css,Yes,2009-Sep-09 12:23:24,2009-Sep-22 13:23:11,2009-Sep-21 09:13:12,2009-Sep-21 09:13:12,,,1,
00:00:00.475,2009-Sep-21 11:13:12.349,0.026,802,1174,GET,200,text/css,http://www.test.fr/test/fra/css/PrintV9.3.0.css,Yes,2009-Sep-09 12:23:24,2009-Sep-22 13:23:11,2009-Sep-21 09:13:12,2009-Sep-21 09:13:12,,,1,
je veux en fait le transmettre ce fichier et il me perse tous les "send" et "Received"
meci
je voudrais faire un scrpit php pour parcer le contenu d'un fichier et recuprerer des champs
par exemple:
Started,StartedDateTime,Time,Sent,Received,Method
00:00:00.431,2009-Sep-21 11:13:12.305,0.086,803,110097,GET,200,text/css,http://www.test.fr/test/fra/css/StylesV9.3.0.css,Yes,2009-Sep-09 12:23:24,2009-Sep-22 13:23:11,2009-Sep-21 09:13:12,2009-Sep-21 09:13:12,,,1,
00:00:00.475,2009-Sep-21 11:13:12.349,0.026,802,1174,GET,200,text/css,http://www.test.fr/test/fra/css/PrintV9.3.0.css,Yes,2009-Sep-09 12:23:24,2009-Sep-22 13:23:11,2009-Sep-21 09:13:12,2009-Sep-21 09:13:12,,,1,
je veux en fait le transmettre ce fichier et il me perse tous les "send" et "Received"
meci
A voir également:
- Parcer le contenu d'un fichier en php
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
18 réponses
une piste:
avec la fonction file() de php tu lis le fichier:
avec la fonction file() de php tu lis le fichier:
<?php $array_fichier=file('ton_fichier.txt'); //tu mets le chemin relatif depuis ce script vers ton fichier bien sur if(sizeof($array_fichier)>0){ foreach($array_fichier as $clef=>$ligne){ //on parcours l'array donc le contenu du fichier ligne par ligne $array_ligne=explode(',',$ligne); //on sépare par raport à la virgule //affichage par exemple echo "Send= ".$array_ligne[3]." Received= ".$array_ligne[4]."<br />"; //les index de l'array commencent à 0 } }else{ echo 'Lecture fichier impossible, revoir le chemin ou le nom !'; }
avec Easyphp, tu enregistre le code ci dessus avec comme nom: lire_fichier.php
sous le dossier www de Easyphp qui doit être dans c:\Programmes Files\EasyPhp...
ensuite tu lances EasyPhp puis DANS LA BARRE D'ADRESSE DE TON NAVIGATEUR tu tapes:
http://127.0.0.1/lire_fichier.php
attention au chemin relatif par rapport à ton fichier à lire, le mieux serait que tu le copie aussi dans le dossier www de easyphp
comme ça tu n'auras qu'a laisser file('nom_du_fichier_a_lire.txt')
sous le dossier www de Easyphp qui doit être dans c:\Programmes Files\EasyPhp...
ensuite tu lances EasyPhp puis DANS LA BARRE D'ADRESSE DE TON NAVIGATEUR tu tapes:
http://127.0.0.1/lire_fichier.php
attention au chemin relatif par rapport à ton fichier à lire, le mieux serait que tu le copie aussi dans le dossier www de easyphp
comme ça tu n'auras qu'a laisser file('nom_du_fichier_a_lire.txt')
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
en fait je vous explique bien l'idée
l'idée de l'outil est de passer en paramètre a travers un ihm, un fchier de type .csv ensuite ce scrript php permettra d'afficher dans une autre page html certaine données que contienent le fichier.csv
merci pour votre aide
l'idée de l'outil est de passer en paramètre a travers un ihm, un fchier de type .csv ensuite ce scrript php permettra d'afficher dans une autre page html certaine données que contienent le fichier.csv
merci pour votre aide
merci bien pour votre aide,
je voudrais savoir comment je fait pour compter le nombre de "send" et le nombre de "received"
je voudrais savoir comment je fait pour compter le nombre de "send" et le nombre de "received"
Je suppose que dans le fichier il y en un Send et un received à chaque ligne, donc pour avoir le nombre de ligne
$nb_lignes=sizeof($array_fichier);
$nb_lignes=sizeof($array_fichier);
désolé ce n'est pas le nombre de ligne c'est le nombre total de "send" et "Received" contenu dans le fichier en sachant qu'on a dans chaque ligne "send" et "received" avec des valeurs.
merci
merci
on a dans chaque ligne "send" et "received" avec des valeurs.
Alors la c'est hyper compliqué:
si dans chaque ligne du fichier tu as un Send et un received
le nombre total c'est quoi ?
nbr_lignes x 2
Alors la c'est hyper compliqué:
si dans chaque ligne du fichier tu as un Send et un received
le nombre total c'est quoi ?
nbr_lignes x 2
en fait le fichier contient des rapports de communication entre une machine cliente et un serveur
en effet chaque ligne contient un "Send" et un "Recevied"
donc l'idée et de comptabilisé tous les "Send" et un "Recevied" et afficher a la fin par exemple le nombre total de"Send" est : et un "Recevied" est :
je t'envoi mon mail boby8700@yahoo.fr pour vous envoyer le fichier en piece jointe?
donc envoyer moi un mail dans cette adresse
merci d'avance
en effet chaque ligne contient un "Send" et un "Recevied"
donc l'idée et de comptabilisé tous les "Send" et un "Recevied" et afficher a la fin par exemple le nombre total de"Send" est : et un "Recevied" est :
je t'envoi mon mail boby8700@yahoo.fr pour vous envoyer le fichier en piece jointe?
donc envoyer moi un mail dans cette adresse
merci d'avance
bonjour a tous,
Send= 1182 Received= 1080 Result= 200
Send= 974 Received= 5388 Result= 200
Send= 991 Received= 588 Result= 200
Send= 990 Received= 505 Result= 200
Send= 985 Received= 726 Result= 200
Send= 987 Received= 990 Result= 200
Send= 995 Received= 747 Result= 200
Send= 985 Received= 1274 Result= 200
Send= 963 Received= 3195 Result= 200
je voudrais savoir comment on peut faire le total des "Send" "Receveid" et "Result"
je vous remercie d'avance
Send= 1182 Received= 1080 Result= 200
Send= 974 Received= 5388 Result= 200
Send= 991 Received= 588 Result= 200
Send= 990 Received= 505 Result= 200
Send= 985 Received= 726 Result= 200
Send= 987 Received= 990 Result= 200
Send= 995 Received= 747 Result= 200
Send= 985 Received= 1274 Result= 200
Send= 963 Received= 3195 Result= 200
je voudrais savoir comment on peut faire le total des "Send" "Receveid" et "Result"
je vous remercie d'avance
Ha je n'avait pas compris que c'était le total des valeurs alors:
<?php $array_fichier=file('ton_fichier.txt'); //tu mets le chemin relatif depuis ce script vers ton fichier bien sur if(sizeof($array_fichier)>0){ //init totaux a zero $total_send=0; $total_received=0; $total_result=0; foreach($array_fichier as $clef=>$ligne){ //on parcours l'array donc le contenu du fichier ligne par ligne $array_ligne=explode(',',$ligne); //on sépare par raport à la virgule //affichage par exemple echo "Send= ".$array_ligne[3]." Received= ".$array_ligne[4]."<br />"; //les index de l'array commencent à 0 //on ajoute dans les totaux $total_send+=$array_ligne[3]; $total_received+=$array_ligne[4]; $total_result+=$array_ligne[6]; } echo '<b><br /><br />Total des Send= '.$total_send.' des Received= '.$total_received.' des Result= '.$total_result.'</b>'; //<b></b> c'est pour mettre en gras }else{ echo 'Lecture fichier impossible, revoir le chemin ou le nom !'; }
ok merci
je voudrais rajouter le tout dans un tableau en faisant une colonne pour "Send" et une autre pour "Recevied"
merci encore pour tout
je voudrais rajouter le tout dans un tableau en faisant une colonne pour "Send" et une autre pour "Recevied"
merci encore pour tout
re,
il ya aussi un aussi un autre champs c'est le champs "Result" que je recupère en faisant array_ligne[6]
le soucis est que ce champs contient les codes d'erreurs du protocole http c'est a dire:
102, 200, 304 etc...... il recupère aussi avec "Result" un champs "cache".
l'idée est de recupérer les codes types de codes d'erreurs ensuite faire leur somme.
par exemple
Result 101=2555,
Result 200=58888;
Result 304=447;
Result cache=10 fois
vous comprenez?
vous aviez une autre solution plus facile a me proposer?
il ya aussi un aussi un autre champs c'est le champs "Result" que je recupère en faisant array_ligne[6]
le soucis est que ce champs contient les codes d'erreurs du protocole http c'est a dire:
102, 200, 304 etc...... il recupère aussi avec "Result" un champs "cache".
l'idée est de recupérer les codes types de codes d'erreurs ensuite faire leur somme.
par exemple
Result 101=2555,
Result 200=58888;
Result 304=447;
Result cache=10 fois
vous comprenez?
vous aviez une autre solution plus facile a me proposer?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table border="1"> <!-- titres des colonnes --> <tr><th>Send</th><th>Received</th><th>Result</th></tr> <?php $array_fichier=file('ton_fichier.txt'); //tu mets le chemin relatif depuis ce script vers ton fichier bien sur if(sizeof($array_fichier)>0){ //init totaux a zero $total_send=0; $total_received=0; $total_result=0; foreach($array_fichier as $clef=>$ligne){ //on parcours l'array donc le contenu du fichier ligne par ligne $array_ligne=explode(',',$ligne); //on sépare par raport à la virgule //affichage echo '<tr>'; //une ligne a chaque echo '<td>'.$array_ligne[3].'</td>'; // colonnes echo '<td>'.$array_ligne[4].'</td>'; echo '<td>'.$array_ligne[7].'</td>'; echo '</tr>'; //on ajoute dans les totaux $total_send+=$array_ligne[3]; $total_received+=$array_ligne[4]; $total_result+=$array_ligne[6]; } //affichage des totaux echo '<tr><td colspan="3"> </td></tr>'; //une ligne vide pour séparer echo '<tr style="font:bold;">'; echo '<td>'.$total_send.'</td>'; echo '<td>'.$total_received.'</td>'; echo '<td>'.$total_result.'</td>'; echo '</tr>'; }else{ echo 'Lecture fichier impossible, revoir le chemin ou le nom !'; } ?> </table> </body> </html>
attention dans chaque ligne<tr> il faut le même nombre de <td> sinon il faut mettre colspan=
pour modifier l'affichage, le style, vas voir sur Google les propriétés de la balise <table>
Bonjour,
j'ai un script qui permet de parcer un fichier et recuperer des champs en faisant les totaux des champs a une date D.
alors je voudrais un scrpit qui permet de comparer ce fichier a un autre fichier a une date D+1
en me faisant ressortit les differences:
exmple: les totaux des champs a la date D de mon fichier parcer
Send, Recevied
225 222 (Cache) application/x-javascript
1122 0 (Cache) application/x-javascript
0 144 (Cache) application/x-javascript
TOTAU X:
Send:26.1553KO
Receveid:295.1396KO
Requets: 72
les totaux des champs a la date D+1 de l'autre fichier parcer
225 222 (Cache) application/x-javascript
1122 0 (Cache) application/x-javascript
0 144 (Cache) application/x-javascript
TOTAU X:
Send:12.1553KO
Receveid:47.1396KO
Requets: 25
je voudrais ainsi avoir les Differences des deux fichiers:
par exemple:
TOTAU X:
Send:26.1553KO-12.1553KO=X
Receveid:295.1396KO-47.1396KO=Y
Requets: 72-25=Z
j'ai un script qui permet de parcer un fichier et recuperer des champs en faisant les totaux des champs a une date D.
alors je voudrais un scrpit qui permet de comparer ce fichier a un autre fichier a une date D+1
en me faisant ressortit les differences:
exmple: les totaux des champs a la date D de mon fichier parcer
Send, Recevied
225 222 (Cache) application/x-javascript
1122 0 (Cache) application/x-javascript
0 144 (Cache) application/x-javascript
TOTAU X:
Send:26.1553KO
Receveid:295.1396KO
Requets: 72
les totaux des champs a la date D+1 de l'autre fichier parcer
225 222 (Cache) application/x-javascript
1122 0 (Cache) application/x-javascript
0 144 (Cache) application/x-javascript
TOTAU X:
Send:12.1553KO
Receveid:47.1396KO
Requets: 25
je voudrais ainsi avoir les Differences des deux fichiers:
par exemple:
TOTAU X:
Send:26.1553KO-12.1553KO=X
Receveid:295.1396KO-47.1396KO=Y
Requets: 72-25=Z