OVH Cloud OVH Cloud

Probleme d'ecriture dans un fichier

3 réponses
Avatar
Clement David
Bonjour,

J'ai decouvers le php il y a peu et je suis en train de convertir mon site
http://clement.david.club.fr/index.html en php mais en voulant ajouter des
fonctions je me suis rendu compte que je n'arrivais pas a ecrire des
variables dans un fichier:
j'arrive a enregistrer un mot
<?php
$fp = fopen("fichier.txt","a+");
fwrite($fp, "\n");
fwrite($fp, 'nom : ');
fclose($fp); ?>
mais pas une variable
<?php
$fp = fopen("fichier.txt","a+");
fwrite($fp, "$ba");
fclose($fp); ?>
la variable est non vide puisque j'arrive a l'afficher, j'ai auss essayé
avec l'instruction fputs mais c'est pareil...
je n'y comprends plus rien! Si quelqu'un pouvait m'aider ça serait genial.
Merci

Clem

PS : j'utilise apache 1.3.33 et php 5.0.3

3 réponses

Avatar
Paul Delannoy
lement David a écrit:
Bonjour,

J'ai decouvers le php il y a peu et je suis en train de convertir mon site
http://clement.david.club.fr/index.html en php mais en voulant ajouter des
fonctions je me suis rendu compte que je n'arrivais pas a ecrire des
variables dans un fichier:
j'arrive a enregistrer un mot
<?php
$fp = fopen("fichier.txt","a+");
fwrite($fp, "n");
fwrite($fp, 'nom : ');
fclose($fp); ?>
mais pas une variable
<?php
$fp = fopen("fichier.txt","a+");
fwrite($fp, "$ba");
fclose($fp); ?>
la variable est non vide puisque j'arrive a l'afficher, j'ai auss essayé
avec l'instruction fputs mais c'est pareil...


Même si tu enlève les " autour de $ba ? et que vaut $ba d'ailleurs ?

Avatar
Marc Quinton
Clement David wrote:
J'ai decouvers le php il y a peu et je suis en train de convertir mon site
...


quelle découverte !

ca marche parfaitement en ligne de commande :

<?php

$file = 'toto.txt';
$txt = "some textnsome other textnn";

$fp = fopen($file,'a+');
fwrite($fp, "$txt");
fclose($fp);

?>

> rm -f toto.txt ; php -q fwrite.php ; cat toto.txt
some text
some other text


maintenant, il faudrait :
* verifier les droits d'ecriture,
* verifier que fopen retourne un handle ou false,
* un error_reporting(E_ALL) en tout debut ne mange pas de pain !

Avatar
Olivier Miakinen

[...]
fwrite($fp, "$ba");
fclose($fp); ?>
la variable est non vide puisque j'arrive a l'afficher, j'ai auss essayé
avec l'instruction fputs mais c'est pareil...


Même si tu enlève les " autour de $ba ?


Je ne vois pas ce que cela pourrait changer. Si $ba est une chaîne,
"$ba" est identique à $ba, et si $ba n'est pas une chaîne elle devrait
être transformée en chaîne dans l'appel à fwrite(), donc identique à "$ba".

et que vaut $ba d'ailleurs ?


Bonne question.


--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.