[PHP] écriture dans un fichier fwrite

Fermé
eXo - 17 avril 2009 à 09:47
 eXo - 17 avril 2009 à 11:10
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 jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 avril 2009 à 09:49
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
Et bien, merci beaucoup, sa fonctionne, j'en tirerai une bonne leçon ! LIRE LES DOCs xD

Merci encore :)
0
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 jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 avril 2009 à 11:08
Tu as bien mis un retour chariot (\n\r) à la fin de ta ligne que tu insères ?
0
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