PHP : Fonction "fwrite"
eXo
-
pyschopathe Messages postés 2053 Statut Membre -
pyschopathe Messages postés 2053 Statut Membre -
Bonjour,
Alors, ce que je recherche a faire, c'est modifier un ligne existante dans un fichier csv. Je récupere le contenu du fichier dans $handle, ensuite je crée ma nouvelle ligne $ligne[$l] à l'endroit déterminé par $l et j'implode $imp pour concaténé le tout $imp = implode($lignes,"");
Mon probleme est que lorsque j'écris le nouveau tableau , fwrite($handle,$imp); j'obitiens comme résultat le fichier réécris sans ma nouvelle ligne... il me manque que sa ..
Si quelqu'un peu m'aider.
Merci d'avance..
Le code :
$i=1;
$handle = fopen("listePilote/pilotage.csv", "r+");
while ($data = fgets($handle, 4096)) {
$lignes[$i] = $data;
$i++;
}
fclose($handle);
//création temporaire de la nouvelle lignes
$lignes[$l] = array("$pilote;","$dateu;","$incident;","$prise_incident;","$environement;","$job_er;","$abend;","$job_erreur;","$job_repri;","$relance;","$hors_perim;","$respect_20mn;","$asset;","$log_erreur;","$diag_pilote;","$topx;","$escalade;","$escalade_justif;","$banque;","$partition;","$commentaire\n");
$imp = implode($lignes,"");
echo $imp;
// ouverture du fichier et concaténation des infos
$handle = fopen("listePilote/pilotage.csv", "w+");
fwrite($handle,$imp);
fclose($handle);
Alors, ce que je recherche a faire, c'est modifier un ligne existante dans un fichier csv. Je récupere le contenu du fichier dans $handle, ensuite je crée ma nouvelle ligne $ligne[$l] à l'endroit déterminé par $l et j'implode $imp pour concaténé le tout $imp = implode($lignes,"");
Mon probleme est que lorsque j'écris le nouveau tableau , fwrite($handle,$imp); j'obitiens comme résultat le fichier réécris sans ma nouvelle ligne... il me manque que sa ..
Si quelqu'un peu m'aider.
Merci d'avance..
Le code :
$i=1;
$handle = fopen("listePilote/pilotage.csv", "r+");
while ($data = fgets($handle, 4096)) {
$lignes[$i] = $data;
$i++;
}
fclose($handle);
//création temporaire de la nouvelle lignes
$lignes[$l] = array("$pilote;","$dateu;","$incident;","$prise_incident;","$environement;","$job_er;","$abend;","$job_erreur;","$job_repri;","$relance;","$hors_perim;","$respect_20mn;","$asset;","$log_erreur;","$diag_pilote;","$topx;","$escalade;","$escalade_justif;","$banque;","$partition;","$commentaire\n");
$imp = implode($lignes,"");
echo $imp;
// ouverture du fichier et concaténation des infos
$handle = fopen("listePilote/pilotage.csv", "w+");
fwrite($handle,$imp);
fclose($handle);
A voir également:
- PHP : Fonction "fwrite"
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
1 réponse
Le code suivant devrait faire ce que tu veux :
<?php
// Lecture du fichier csv
$i=0;
$lignes = array();
$handle = fopen( 'listePilote/pilotage.csv', 'r+' );
while ( $data = fgetcsv( $handle ) ) {
if ( $i != $l ) {
$lignes[$i] = $data;
} else {
$lignes[$i] = array();
}
$i++;
}
// On insère notre nouvelle ligne à sa pasition dans la liste
$lignes[$l] = array( $pilote, $dateu, $incident, $prise_incident,
$environement, $job_er, $abend, $job_erreur, $job_repri,
$relance, $hors_perim, $respect_20mn, $asset, $log_erreur,
$diag_pilote, $topx, $escalade, $escalade_justif, $banque,
$partition, $commentaire );
foreach ( $lignes as $line ) {
fputcsv( $handle, $ligne );
}
fclose( $handle );
?>