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 :

[CSV] Modifier un champ d'un fichier CSV


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut [CSV] Modifier un champ d'un fichier CSV
    bonjour a tous,

    je cherche a modifier un champ d'un fichier csv dont le separateur est une virgule.

    ex :
    "nom","prenom","adresse"
    "tronaze","bernard","france"

    J aimerais par exemple pouvoir changer "france" en "belgique"...

    merci de votre aide.






    je viens de faire ceci:


    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
    <?
    $fichier = "./monfic.csv";
    $fic = fopen($fichier, 'rb');
    $tab = array('didier','pierre','julien');
     
    //Je lis le fichier csv et je met tout dans mon tableau (mon fichier csv est de meme modele que tab)
    for ($ligne = fgetcsv($fic, 1024); !feof($fic); $ligne = fgetcsv($fic, 1024)) {
      $j = sizeof($ligne);
      for ($i = 0; $i < $j; $i++) {
        $tab[$i]=$ligne[$i];
    	echo $tab[$i]; // test qui affiche bien le contenu de monfic.csv
        }
    }
     
    //J utilise le fameux fputcsv
     if ($fp = @fopen('./a.csv', 'w')) {
       foreach ($tab as $lign) {
         fputcsv($fp, $lign);
         }
       fclose($fp);
       }
     else {
       echo "Impossible d'acc&eacute;der au fichier.";
       }
    Resultat des courses:
    le fichier a.csv est bien cree mais avec rien a l interieur... j accepte toutes vos suggestions !!!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut
    Bon je me repond a tout seul... enfin c est deja pas mal.
    Mon fichier n'a ps de droit en ecriture... j ai fait le test suivant:
    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
     
     
    $list = array('Bob','John','Oslo','Norway');
    $fic = "./contacts.csv";
    if (is_writable($fic)) 
    	{
    	$file = fopen($fic,"w");
            foreach ($list as $line)
      	{
      		fputcsv($file,split(',',$line));
      	}
    	fclose($file);
    }
    else
    {
    echo "Le fichier $fic n'est pas accessible en écriture.";
    }
    la reponse retournee est $fic n est pas Writable..

    heuu.. question peut etre simple.. comment on fait pour rendre un fichier writable sachant que celui ci n existe pas encore? En effet, contacts.csv est cree par ce programme..

    merci pour vos non reponses pour les miennes et pour celles que vous posterez aussi.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 83
    Par défaut
    Pour rendre le fichier accessible en écriture, il faut que tu le précises en paramètre de la fonction fopen.
    Pour plus de précisions, va voir la doc PHP : http://fr.php.net/fopen
    C'est très bien expliqué

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut
    merci mais ca n a rien a voir.

    sinon, j ai fait un chmod($file, 0777) ca cree tjr un fichier csv vide...
    Quand j utilise la methode fputs normale par contre maintenant ca ecrit mais c est pas la fonction magique fputcsv..

    Y a personne qu a jamais utilise cette fonction ici ??
    ouinnnn

Discussions similaires

  1. Modifier plusieurs champs dans un fichier Csv
    Par francois_a dans le forum Shell et commandes GNU
    Réponses: 36
    Dernier message: 02/09/2009, 17h31
  2. [CSV] Insérer des champs dans un fichier CSV
    Par floctc dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2009, 11h26
  3. Ne pas charger le premier champ d'un fichier csv
    Par pmoury06 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 28/10/2008, 17h07
  4. Fichier csv modifier après importation
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/12/2007, 13h54
  5. Réponses: 3
    Dernier message: 26/04/2006, 11h52

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