Ecrire des un fichier PHP a un endroit Précis

Résolu
Webster95 Messages postés 655 Statut Membre -  
Webster95 Messages postés 655 Statut Membre -
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 !

--
Besoin d'aide en Webmastering ? Webmaster a votre écoute :)
Configuration: Windows Vista
Google Chrome

5 réponses

  1. toto
     
    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
  2. MatthMirage Messages postés 47 Statut Membre 4
     
    Bonjour,
    Pour ton premier problème remplace :
    fclose($f);
    par
    fclose($handle);

    Pour le reste je ne sais pas.

    Bonne continuation,
    Matth
    0
  3. Webster95 Messages postés 655 Statut Membre 142
     
    Lu!
    C'est bon, j'ai réussi, en plus simple :)
    Merci encor
    a++
    0
  4. matali
     
    salut
    jai le meme prob ke toi

    peu tu maider et me dire comment tu as fait?

    merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Webster95 Messages postés 655 Statut Membre 142
     
    J'ai écris simplement dans un fichier, que j'ai lu puis inclu a l'aide d'une variable :)
    0