Ecriture dans un fichier csv+php

bibbou Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   -  
bibbou Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un fichier excel , pour le lire je l'ai converti en .csv et j'ai pur lire son contenu avec fgets.
maintenant je veux modifier la valeur d'une case du fichier avec php mais je ne sais comment faire avec fputs ca modifie tout le fichier moi je veux mettre la main sur une seulle case

pour bien comprendre voici un bout mon promgramme
///****
while (!feof($fp)) // Et Hop on importe
{
$ligne = fgets($fp,4096); //On lit une ligne
$liste = explode( ";",$ligne);
$cnef = $liste[1];
if($cnef==$cne)
{
$nom=$liste[2];
$daten=$liste[3];
$liste[6]=$fil;
fputs($fp,$liste[6]);///je veux ajouter à la fin de la ligne un champs liste[6]
}
}

****///Merci d'essayer de m'aider parce que je suis bloquée
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Tu ne pourras pas le faire en une seule boucle.
Le plus simple serait, à mon avis, d'écrire le fichier que tu veux obtenir dans une variable php. Une fois la boucle de lecture finie, tu rouvres le fichier en écriture, et le remplaces par le contenu de ta variable php.
Cela donnerait un truc de ce genre :

///****
$fichier = "";
while (!feof($fp)) // Et Hop on importe
{
    $ligne = fgets($fp, 4096); //On lit une ligne
    $liste = explode( ";", $ligne);
    $cnef = $liste[1];
    if($cnef == $cne)
    {
        $nom = $liste[2];
        $daten = $liste[3];
        $liste[6] = $fil;
    }
    $fichier .= implode(";", $liste)."\n";    // On recolle les morceaux et on passe à la ligne
}
file_put_contents($NOMDUFICHIER, $fichier);


Xavier
0
bibbou Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   1
 
merci bcp c'est bien ca

merci ca m a bcp aidé
0