Accueil > Forum > > > > traitement de fichier en php
traitement de fichier en php
jeudi 3 janvier 2008 à 16:28:39 |
traitement de fichier en php

daris
|
Bonjour, J'ai un fichier sous ce format 14366,1,56.9,704,0.411326 14366,2,56.2,703,0.0322821 14366,3,57.5,688,0.181508 14366,4,57.6,687,0.599771 14366,5,59.1,669,0.274231 14366,6,60.1,657,0.173746*14360,1,56.9,704,0.411326 14360,2,56.2,703,0.0322821 14360,3,57.5,688,0.181508 14360,4,57.6,687,0.599771 14360,5,59.1,669,0.274231 14360,6,60.1,657,0.173746 * 14359,1,56.9,704,0.411326 14359,2,56.2,703,0.0322821 14359,3,57.5,688,0.181508 14359,4,57.6,687,0.599771 14359,5,59.1,669,0.274231 14359,6,60.1,657,0.173746 *14372,1,56.9,704,0.411326 14372,2,56.2,703,0.0322821 14372,3,57.5,688,0.181508 14372,4,57.6,687,0.599771 14372,5,59.1,669,0.274231 14372,6,60.1,657,0.173746 deux type de separateur ,(virgule) et *(etoile) Pour traiter ce ffichier avec du php, je veux dans un premier temps separer les donneés en bloc grace au separateur (*) Ensuite traiter chaque bloc en prenant en compte le separateur (,) mais je suis bloquée au niveau de la premiere étape=> separation en bloc /separateur * Voici mon script: $ouvre = fopen ($uploadfile,"r"); // ouverture fichier en lecture "r" while (!feof ($ouvre))// tant que pas en fin de fichier { $lecture = fgets($ouvre, 4096); // stockage dans $lecture $donnee=explode("*",$lecture); // parsing des données basé sur "*") $combien=count($donnee)-1; // nbre d'éléments séparés par "*" echo "<b>Ce fichier contient ",$combien," données : </b><br><br>"; for ($i=0;$i<=$combien;$i++) { echo $donnee[$i],"<br>"; // affichage des données } } ce script ne me permet pas de faire ce que j'ai decris plus haut car dans un bloc il ya plusieurs lignes. Si vous avez une idée pour m'aider .Merci d'avance
|
|
jeudi 3 janvier 2008 à 17:13:45 |
Re : traitement de fichier en php

malik7934
|
PAS TESTE!
$filename = 'le nom de ton fichier'; $handle = fopen($filename,"rb"); $content = fread($handle, filesize($filename)); fclose($handle);
$split = explode('*',$content); echo 'Ce fichier contient '.count($split).' éléments : <br /><br />'; for ($i=0;$i<count($split);$i++) echo 'Block '.$i.' : '.$split[$i].'<br />';
|
|
jeudi 3 janvier 2008 à 23:13:03 |
Re : traitement de fichier en php

yoman64
|
Salut,
quelques petites corrections:
$content=
file_get_contents($uploadfile); // Beaucoup plus rapide que fread (confirmé par la doc php)
$split = explode('*',$content); echo 'Ce fichier contient '.count($split).' éléments séparé par une étoile: <br /><br />'; $nbr=
count($split); // Faut jamais mettre un count dans une boucle
for ($i=0;$i<$nbr;$i++)
echo 'Block '.$i.' : '.$split[$i].'<br />';
------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
vendredi 4 janvier 2008 à 08:53:17 |
Re : traitement de fichier en php

daris
|
Merci pour vos aides , ca marche bien ce script et ca fait exactement ce que je voulais mais malheureusement je doit proceder autrement maintenant . c'est dire que je n'ai plus de séparateur * dans mon fichier .le delimiteur de chaque block doit être la premiere colonne du fichier csv qui est un identifiant. pour chaque identifiant je doit lire le block et inserer les resultat dans ma base ansi de suite. si vous avez une idée .Merci de ne pas hesiter
|
|
vendredi 4 janvier 2008 à 10:42:41 |
Re : traitement de fichier en php

daris
|
Je rexplique mon probleme : j'ai ce fichier dont la première colonne correspon a un identifiant.: 14366,1,56.9,704,0.411326 14366,2,56.2,703,0.0322821 14366,3,57.5,688,0.181508 14366,4,57.6,687,0.599771 14366,5,59.1,669,0.274231 14366,6,60.1,657,0.173746 14360,1,56.9,704,0.411326 14360,2,56.2,703,0.0322821 14360,3,57.5,688,0.181508 14360,4,57.6,687,0.599771 14360,5,59.1,669,0.274231 14360,6,60.1,657,0.173746 14359,1,56.9,704,0.411326 14359,2,56.2,703,0.0322821 14359,3,57.5,688,0.181508 14359,4,57.6,687,0.599771 14359,5,59.1,669,0.274231 14359,6,60.1,657,0.173746 14372,1,56.9,704,0.411326 14372,2,56.2,703,0.0322821 14372,3,57.5,688,0.181508 14372,4,57.6,687,0.599771 14372,5,59.1,669,0.274231 14372,6,60.1,657,0.173746 Pour chaque identifiant je doit lire toutes les ligne et les rajouter dans un tableau que je vais traiter apres pour inserer dans ma base. J'ai essaye de mettre en place le script ci dessous , peut être pas trop coherent car par manque d'expérience je ne suis pas convaincu de mon algorithme. merci si vous pouvez m'eclaicir.
$row = 1; // initialisation de la 1ère ligne du fichier uploadé $fp= fopen ($uploadfile,"r"); // ouverture fichier en lecture "r" $identifiant =null; while ($data = fgets ($fp, 4086)){ //$content= file_get_contents($uploadfile); list($no_analyse_B_ARISA,$numero_de_bande,$intensite_de_la_bande,$taille_de_la_bande,$distance_de_migration) = explode(",", $data); $identifiant=$no_analyse_B_ARISA; echo $identifiant; $num = count ($data); for($i=0; $i < $num; $i++){ if($identifiant == $no_analyse_B_ARISA){ echo "je suis à la ligne numero ".$row."du fichier<br>"; }else{ echo "Attention l'dentifiant a changer!<br>"; } } $row++; print_r($data); fclose($fp);
|
|
vendredi 4 janvier 2008 à 10:54:30 |
Re : traitement de fichier en php

malik7934
|
yoman64 où est-il dit que file_get_contents est plus rapide? Ca m'intéresse! Je n'ai pas trouvé sur http://fr.php.net/file_get_contents...
|
|
vendredi 4 janvier 2008 à 15:36:38 |
Re : traitement de fichier en php

yoman64
|
Salut, C'est dans la page de la doc de fread : http://ca.php.net/manual/fr/function.fread.php Note:
Si vous voulez lire le contenu d'un fichier dans une chaîne de
caractères, utilisez plutôt file_get_contents()
qui est bien plus rapide que le code ci-dessus.
Mais je suggère ce changement surtout parce que je crois que ça fait plus propre de remplacer 3 lignes par une seule fonction qui est faite pour ça :). ------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
mardi 6 octobre 2009 à 20:04:31 |
Re : traitement de fichier en php

seybou
|
bonsoir,moi j'ai plutot un repertoire dans lequel se trouve plusieurs repertoires dont
1.je doit recuperer le nom de chacun des ces répertoires dans un parametre;
2.pour chaque repertoire je doit rechercher, identifier et compter les fichiers de meme type: dont les noms ont en commun une chaine xxxx;
3.ouvrir chaque fichier
4.Identifier et lecture des informations utiles (ici en bleu) avec creation d'une table dont les colonnes sont en rouges:
Name of BSC : AGA
begin date and time : 2009-07-17 11:00
end date and time : 2009-07-17 12:00
LINK_ID C153A C153B C251 C252 C253 C254 C255 C256 C257 C258
16 0 1 0 165 2324 0 0 2353 0 0
144 0 0 0 198 2323 0 0 2313 0 0
272 0 0 0 202 2326 0 0 2309 0 0
5.inserer pour chaque ligne les colonnes suivantes jusqu'à rencontrer une ligne vide:
Name of BSC begin date and time end date and time LINK_ID C153A ... C256
6.sortir du fichier si rencontre ligne vide et ouvrir le prochain fichier. et faire le processus en ajoutant les nouvelles valeurs pour les memes colonnes.
Merci de m'aider à faire un code PHP/Mysql de cet algorithme.
merci d'avance !
|
|
Cette discussion est classée dans : fichier, lecture, php, bloc, separateur
Répondre à ce message
Sujets en rapport avec ce message
lecture et ecriture d'un fichier text avec php à travert des formulaires [ par cacoucatatonique ]
salut à tous, je suis à la recherche d'un moin de generer des fichiers texts afin de sauvegarder des paragraphes de text, voir de les modifiers et mem
FIFO ecriture/lecture en php [ par suleyman ]
bonjour jaimerai savoir comment faire pour Crée un fichier FIFO, ensuite ecrire et lire dans le fichier, en PHP ! tres urgent! je vous remercie davanc
Modification / lecture fichier par PHP et FTP [ par Mickael33480 ]
Bonjours à tous / toutes Je viens vous voir car j'ai une petite question à vous pausez : J'ai deux serveurs 1 Web ou il y as le script et un de fichie
PHP - Lecture fichier XML [ par conan76 ]
Bonjour,Dans le but d'importer des données d'une structure (ASP.Net/Intranet) à une autre (PHP/Internet) afin de les exposer à la clientèle, le choix
lecture et traitement d'un fichier log en php [ par fillius ]
bonjour tout le mondeje suis entrain de faire un stage et je travail sur une application de gestion de fichier log qui doit être fait completement en
Envois mailing en htm via php [ par Alpha911 ]
Bonjour, je viens de trouver un script qui ressemble à ce que je souhaite à savoir l'envois d'un fichier htm par mail sans etre en piece jointe dans
execution fichier php xamm (mac os) [ par jordi906 ]
Bonjour à tous ;) ! Je suis débutant en php et novice dans le monde des macs ...J'ai installé xampp , démarré le serveur , mais je n'arrive pas à exéc
connaître le nom du fichier appelant l'execution d'un autre fichier php [ par sagat06 ]
Bonjour à tous.Voilà, à des fins de plus grande sécurité, j'amerais savoir le nom du fichier appelant un autre fichier php.Explication par l'exemple:1
Probleme FOPEN [ par telechargement111 ]
Salut a tousj vous explique mon programe et je vous dis le probleme aprèsjai créer un module d'inscription, et après chaque inscription le module crée
Comment mettre en forme un fichier excel à partir de php [ par anthony428 ]
Bonjour, j'utilise la source suivante : http://www.phpcs.com/codes/EXPORTER-EXTRAIT-VOTRE-BASE-SELON-SELECTION-VERS-EXCEL_27836.aspx Elle me permet
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|