PHP : Ecriture dans un fichier

Résolu/Fermé
eXo - 5 mai 2009 à 17:01
 eXo - 6 mai 2009 à 08:56
Bonjour,

j'ai déjà utiliser le systeme ce-dessous pour écrire à la fin d'un fichier, mais sa ne fonctionne pas dans ce cas ci... sa me dépasse.. une idée?

foreach ($_GET as $indice=>$valeur){
$tab[$indice]="$valeur;";
}
if ($f = fopen("$chemin", "a"))
{
foreach ($tab as $line)
{
fwrite($f, $line);
}
array_pop($tab);
fclose($f);
}
else
{
echo 'erreur lors de l\'ouverture du fichier !';
}

Merci d'avance.
A voir également:

2 réponses

pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
5 mai 2009 à 17:05
Et si tu nous disais en quoi ça ne marche pas ?
0
C'est justement la question que je pose xD !
j'ai aucune erreur, je rentre bien dans les boucles etc .. mais le fichier n'est pas écris !
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135 > eXo
5 mai 2009 à 17:07
Tu as vérifié qu'il y avait bien des données dans ton tableau ?
0
eXo > pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010
5 mai 2009 à 17:09
Oui, les données sont bien présente et correcte par rapport a ce que j'envoie..
c'est vraiment curieux.. je comprend pas du tout ce qui cole pas..
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135 > eXo
5 mai 2009 à 17:13
Tu as testé que tu entrais bien dans la boucle foreach ainsi que le contenu de $line ?
0
eXo > pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010
5 mai 2009 à 17:18
oui j'ai mis des echo un peu partout et j'ai pu vérifié tout sa
par contre je viens de voir que le fichier est en fait écrit ! sa fonctionne .. mon interface d'affichage du fichier ne me la pas affiché .. curieux..
par contre comme c'est un fichier csv, je doit mettre un \n au dernier $_GET pour qu'a la prochaine saisie, elle se fasse sur la ligne suivante et non pas à la suite..

Tu aurai une idée de comment faire sa ?
je met le separateur ; directement ici : "$valeur;"

foreach ($_GET as $indice=>$valeur){
$tab[$indice]="$valeur;";
}

il me faut pour le dernier $_GET qu'il detecte mettre un \n à la fin..

merci encore pour ton aide
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
5 mai 2009 à 17:35
Tu fais genre :
$first = true;
$lastIndex = '';
foreach ($_GET as $indice=>$valeur){
  if ( false == $first ) {
    $tab[$indice] = ';';
  } else {
    $tab[$indice] = '';
  }
  $tab[$indice] .= "$valeur";
  $lastIndex = $indice;
} 
$tab[$lastIndex] = '\n;';
0
ok merci, v bosser dessus la..

jpe te pose une autre cole pour un autre projet, mais ds le meme style?
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135 > eXo
5 mai 2009 à 20:10
Ouaip, ouvre un nouveau sujet et envoie moi le lien, je verrai ce que je peux faire...
0
eXo > pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010
6 mai 2009 à 08:48
ok je poste un nouveau sujet là
0
eXo > pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010
6 mai 2009 à 08:56
voir sujet : PHP : Fonction "fwrite"
0