IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Recuperer des données d'un fichier .txt le retravailler pour le mettre dans un autre fichier .txt


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant en alternance
    Inscrit en
    Février 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 75
    Par défaut Recuperer des données d'un fichier .txt le retravailler pour le mettre dans un autre fichier .txt
    Bonjour à tous

    Je suis à la recherche d'aide pour un projet que je dois effectuer.

    Je vous explique mon problème j'ai un fichier .txt
    sous cette forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    20120713|80|A|PROXIMA CENTURI|EF|5499|44532835400011|5829C|||TPE||Services|
    20120713|80|B|9 RUE DUPERRE||75009|PARIS|FR|0175432840|0175432849|contact@proximaevents.com|www.proximaevents.com|02|01/03/2010|500|2011|
    20120713|80|C|01|0204 0205||Médias et Technique pour l'évènement, production audiovisuelle. Médias : infographie, impression, vidéo, sound design. Technique : gestion technique (matériel et personnel), vote électronique. Production audiovisuelle : films, animations 3D|1|CCI Paris, CCI Moselle|1|Santé : Merck Serono / Agro-alimentaire : Danone / Commerce et Grande distribution : Carrefour / Banque et Assurance : Groupama / Formation : Acadomia / Média : Canal+ / Automobile : Peugeot / Remise de Prix : Oscars de l'Innovation / …||||||||
    20120713|80|D|CHABENI|FARID|Monsieur|2986|Directeur Associé|0175432841|0660566130|f.chabeni@proximaevents.com||
    20120713|80|D||||||||||
    20120713|80|D||||||||||
    (développement XSLT)

    et je voudrais parvenir a prendre toute les donnée de la ligne A et le mettre dans un autre fichier texte A.txt

    et ainsi de suite pour les autres lignes B.txt , C.txt et D.txt

    Je vous remercie d'avance pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut
    Bonjour,

    Si ton fichier est du CSV, je te conseille la fonction fgetcsv (http://fr.php.net/manual/fr/function.fgetcsv.php)

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while (($data = fgetcsv($handle, 255, '|')) !== FALSE) {
    //Mon traitement
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant en alternance
    Inscrit en
    Février 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 75
    Par défaut
    Vlad Tepesch merci pour ta réponse

    je vais regarder ton lien de plus près

  4. #4
    Membre confirmé
    Homme Profil pro
    Etudiant en alternance
    Inscrit en
    Février 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 75
    Par défaut
    j'ai utilisé cela pour code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <?php
    $filename="Alize.txt";
     
    if (file_exists($filename)) 
    {
        $row = 1;
    	if (($handle = fopen($filename, "r")) !== FALSE) 
    	{
    		while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) 
    		{
    			$num = count($data);
    			$row++;
    			for ($c=0; $c < $num; $c++) 
    			{
    			   $data[$c];
    			   $variables = $data[$c] ; 
    				$file = fopen("A.txt", "w"); // ouvre le fichier en écriture
    				fwrite($file, $variables); 
    				fclose($file); // ferme le fichier
    			}
     
    		}
     
    		fclose($handle);
    	}
    } 
    else 
    {
        echo "Le fichier $filename n'existe pas.";
    }
     
     
    ?>
    Mais je n'arrive pas à récupérer mes données dans mon fichier A.txt

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le problème c'est que tu ouvres ton fichier en écriture simple. Donc à chaque tour de boucle, ça va écraser le contenu du fichier inséré au tour précédent.

    Il faut donc que tu ouvres ton fichier en mode append "a"
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre confirmé
    Homme Profil pro
    Etudiant en alternance
    Inscrit en
    Février 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 75
    Par défaut
    Merci Celira pour ta réponse ça m'a permis d'afficher mon résultat

    je l'ai fais de deux façon différentes

    quelle serait le meilleur code pour mon cas ? (j'y connais pas trop en php pour ce qui concerne les fichiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    $filename="Alize.txt";
     
    if (file_exists($filename)) 
    {
     
    	$content = file_get_contents($filename);
    	$lines = preg_split('#(\r?\n)#', $content);
    	foreach($lines as $row => $line)
    	{
    		echo $line;
    		$file = fopen("A.txt", "a"); // ouvre le fichier en écriture
    		fwrite($file, $line); 
    		fclose($file); // ferme le fichier
    	}
    }
    else 
    {
        echo "Le fichier $filename n'existe pas.";
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    $filename="Alize.txt";
     
    if (file_exists($filename)) 
    {
        $row = 1;
    	if (($handle = fopen($filename, "r")) !== FALSE) 
    	{
    		while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) 
    		{
    			$num = count($data);
    			$row++;
    			for ($c=0; $c < $num; $c++) 
    			{
    			   $data[$c];
    			   $variables = $data[$c] ; 
    				$file = fopen("A.txt", "a"); // ouvre le fichier en écriture
    				fwrite($file, $variables); 
    				fclose($file); // ferme le fichier
    			}
     
    		}
     
    		fclose($handle);
    	}
    } 
    else 
    {
        echo "Le fichier $filename n'existe pas.";
    }
    ?>
    maintenant il faudrait que j'arrive à dire ma prèmiere ligne doit être dans le fichier A.txt la deuxième ligne dans le fichier B.txt etc... comment je peux faire cela?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/02/2014, 11h14
  2. Réponses: 2
    Dernier message: 23/11/2012, 16h20
  3. Réponses: 6
    Dernier message: 29/02/2012, 08h00
  4. Réponses: 2
    Dernier message: 04/09/2010, 17h30
  5. Réponses: 8
    Dernier message: 28/04/2008, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo