[PHP] écriture dans un fichier fwrite

eXo -  
 eXo -
Bonjour,

j'ai tout simplement un fichier excel au format csv point-virgule, j'arrive bien a écrire dans un fichier, seulement avant d'écrire, je lis le fichier pour savoir jusqu'a qu'elle ligne il est écrit et donc pour écrire ma ligne sur celle d'apres.... voici mon code:

$tab = 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;");
if ($f = fopen("listePilote/pilotage.csv", "w"))
{
for($i=$new_line;$i<$new_line+1;$i++)
{
foreach ($tab as $line)
{
fwrite($f, $line);
}
fclose($f);
}
}
else
{
echo 'erreur lors de l\'ouverture du fichier !';
}

Seulement a chaque fois que je fait le test,il écrit sur la premiere ligne directement, et donc il mécrase les données existantes.. j'a ivérifier et mes variables dans la boucle for sont correcte..
Je crois qu'il créé le fichier et le modifie pas..

En esperant que quelqu'un puisse m'aidé :)
Merci d'avance
A voir également:

2 réponses

Dr Zoidberg Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   100
 
Salut,

Regarde mieux la doc de fopen : https://www.php.net/manual/en/function.fopen.php
le mode 'w' efface le fichier, c'est normal.
Si tu veux juste écrire à la fin utilise le mode 'a' qui place automatiquement le pointeur en fin de fichier, pas besoin de faire un parcours avant.
0
eXo
 
Et bien, merci beaucoup, sa fonctionne, j'en tirerai une bonne leçon ! LIRE LES DOCs xD

Merci encore :)
0
eXo
 
Heuu lol ptite question...

sa écris bien donc, mais quand je fait la manip la seonde fois, les infos sont ajouter sur la meme ligne a la suite, et sa a chaque manip...
comment faire ?

(je sais pas si je me fait bien comprendre...)
0
Dr Zoidberg Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   100
 
Tu as bien mis un retour chariot (\n\r) à la fin de ta ligne que tu insères ?
0
eXo
 
oui sa fonctionne .. pas de souci..
seulement pour l'utilisation de la fonction, je vois pas..
mais j'ai pas d'erreur pour l'instant
0