Ecrire des un fichier PHP a un endroit Précis

Résolu/Fermé
Webster95 Messages postés 553 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 9 juillet 2013 - 28 févr. 2009 à 18:01
Webster95 Messages postés 553 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 9 juillet 2013 - 26 mars 2009 à 17:06
Bonjour,
J'ai crée un formulaire demander une adresse email, et j'aimerai que cette adresse email, s'ancre dans le fichier connection.php. Pour sa, j'ai fait ce script,
<?php 
$f = 'connection.php'; 
$text = $_POST['mail']; 
$handle = fopen($f,"w"); 

// regarde si le fichier est accessible en écriture 
if (is_writable($f)) { 
// Ecriture 
    if (fwrite($handle, $text) === FALSE) { 
      echo 'Impossible d\'écrire dans le fichier '.$f.''; 
      exit; 
    } 
    
    echo 'Ecriture terminé'; 
    
    fclose($handle); 
                    
} 
else { 
      echo 'Impossible d\'écrire dans le fichier '.$f.''; 
    } 



fclose($f); 
?>


Malheureusement, il me met une erreur,
Warning: fclose(): supplied argument is not a valid stream resource in /xx/xx/www/xx/create.php on line 25


Mais, le concret probleme, c'est que, le fichier PHP doit ecrire dans connection.php, a un endroit précis du fichier !
Quel code dois-je mettre dans connection.php, pour indiquer a mon script d'écrir a cet endroit la ????

Il faut un pointeur, mais comme je peux en faire un ?
Merci de votre aide !


A voir également:

5 réponses

Bonjour

Warning: fclose(): supplied argument is not a valid stream resource in /xx/xx/www/xx/create.php on line 25
Normal, il faut faire fclose ($handle), pas fclose ($f)

Pour mettre le pointeur de fichier à un endroit précis, il y a la fonction fseek.

Mais attention !
1 - ouvre ton fichier avec "r+". Avec "w", tu le détruis.
2 - modifier un fichier php par programme est très dangereux :
2.1 - quand tu changeras la moindre virgule dans connection.php, il faudra modifier le fseek
2.2 - Si une nouvelle adresse email est plus longue que celle que tu avais mise au départ, tu vas écraser quelque chose...
3 - c'est totalement inutile. Ou alors explique moi dans quel cas de figure tu ne peux pas t'en passer. As-tu entendu parler des sessions ?
0
MatthMirage Messages postés 46 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 13 juin 2013 4
28 févr. 2009 à 19:44
Bonjour,
Pour ton premier problème remplace :
fclose($f);
par
fclose($handle);

Pour le reste je ne sais pas.

Bonne continuation,
Matth
0
Webster95 Messages postés 553 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 9 juillet 2013 142
28 févr. 2009 à 20:31
Lu!
C'est bon, j'ai réussi, en plus simple :)
Merci encor
a++
0
salut
jai le meme prob ke toi

peu tu maider et me dire comment tu as fait?

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Webster95 Messages postés 553 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 9 juillet 2013 142
26 mars 2009 à 17:06
J'ai écris simplement dans un fichier, que j'ai lu puis inclu a l'aide d'une variable :)
0