[PHP] écriture dans un fichier fwrite
eXo
-
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
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
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
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. -
Tu as bien mis un retour chariot (\n\r) à la fin de ta ligne que tu insères ?