Parcer le contenu d'un fichier en php
Fermé
boby87000
-
21 sept. 2009 à 13:47
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011 - 23 sept. 2009 à 10:16
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011 - 23 sept. 2009 à 10:16
A voir également:
- Parcer le contenu d'un fichier en php
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
18 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 sept. 2009 à 14:04
21 sept. 2009 à 14:04
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 !'; }
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
21 sept. 2009 à 14:58
21 sept. 2009 à 14:58
comment je peux excuter ce sript avec easyphp?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 sept. 2009 à 16:11
21 sept. 2009 à 16:11
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')
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
21 sept. 2009 à 17:15
21 sept. 2009 à 17:15
ok
le fichier que je lui passe en parramettre n'est pas du type php
le fichier que je lui passe en parramettre n'est pas du type php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
21 sept. 2009 à 17:55
21 sept. 2009 à 17:55
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
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 sept. 2009 à 18:29
21 sept. 2009 à 18:29
he bien tu mets
file('nom_du_fichier_a_lire.csv')
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
22 sept. 2009 à 09:21
22 sept. 2009 à 09:21
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"
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
22 sept. 2009 à 09:48
22 sept. 2009 à 09:48
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);
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
22 sept. 2009 à 09:52
22 sept. 2009 à 09:52
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
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
22 sept. 2009 à 10:05
22 sept. 2009 à 10:05
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
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
22 sept. 2009 à 10:20
22 sept. 2009 à 10:20
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
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
22 sept. 2009 à 11:21
22 sept. 2009 à 11:21
désolé je me suis tromprer sur la mail c'est plutot boby87000@yahoo.fr
merci pour votre aide
merci pour votre aide
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
22 sept. 2009 à 13:13
22 sept. 2009 à 13:13
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
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
22 sept. 2009 à 13:33
22 sept. 2009 à 13:33
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 !'; }
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
22 sept. 2009 à 14:09
22 sept. 2009 à 14:09
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
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
22 sept. 2009 à 14:24
22 sept. 2009 à 14:24
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?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
22 sept. 2009 à 14:25
22 sept. 2009 à 14:25
<!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>
boby87000
Messages postés
113
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
10 juin 2011
23 sept. 2009 à 10:16
23 sept. 2009 à 10:16
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