[PHP] Ecrire dans un TXT

Fermé
killerscraft Messages postés 41 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 6 décembre 2009 - 23 juil. 2007 à 15:45
 Alain42 - 25 juil. 2007 à 13:40
Bonjour, j'aimerais savoir si il est possible d'écire sur un fichier mais d'ércrire au début, je parle de PHP, je vous explique cela plus clairement : je suis en train de faire un livre d'or, mais ne voulant pas utiliser une base de donnée MYSQL, j'utilise un fichier *.txt et donc mon script écrit dessus, mais pas dans l'ordre que je souhaiterais : http://jonstock.olympe-network.com/guestbook.php voyez par vous meme,

Voici le script qui écris sur le *.txt :

<?

//Ouverture du fichier en écriture

$fp = fopen("guesttbook.txt",a);



//On convertit les caracteres html

$nom = htmlspecialchars($_POST['nom']);

$site = stripslashes(nl2br(htmlentities($_POST['site'])));

$mail = htmlspecialchars($_POST['mail']);

$message = stripslashes(nl2br(htmlentities($_POST['message'])));

$d = date ( "d/m/Y H:i:s" );



$page = "";

$lemail = "<a href=\"mailto:$mail\">$mail</a> - <a href=\"http://$site\">http://$site</a>";

$page .= "<b>$nom</b> (".$lemail.") - $d<br><br>$message<br><hr>\n";



//On rajoute le message

fwrite($fp,"$page" ,strlen("$page"));



//fermeture du fichier

fclose($fp);



//On affiche le message enregistré

echo "Merci $nom, nous avons enregistré votre message : <br>";

echo "E-mail : $mail <br> Message : $message";



?>



<p><a href="guestbook.php">Retour au guestbook</a>

</p>


Voila, pouvez vous m'aider svp, merci d'avance et bonne journée :)
A voir également:

2 réponses

Essaye en lisant ton fichier par la fonction file(), elle te met les lignes dans un array.

tu pourras ensuite rajouter ta nouvelle ligne au début de cet array et le réecrire ans le fichier par fputs.
0
killerscraft Messages postés 41 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 6 décembre 2009
25 juil. 2007 à 00:43
Merci de ta réponse, mais j'avoue ne pas etre assez calé pour comprendre ^^
0
killerscraft Messages postés 41 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 6 décembre 2009
25 juil. 2007 à 00:44
Merci de ta réponse, mais j'avoue ne pas etre assez calé pour comprendre ^^
0
Avec file() pas besoin de fopen

tu essayes:

$array_fichier=file("guesttbook.txt");

array_unshift($array_fichier,$page); // empile $page au début de l'array


if($f=fopen("guesttbook.txt,"w")){
for ($k=0; $k<sizeof($array_fichier);$k++ ) {
$ecrit=-1;
if (fputs($f,$array_fichier[$k])) $ecrit=1 ; // ecrire ligne par ligne
}
}
fclose($f);

if($ecrit==1){echo "Ecriture reussie"; } else { echo "Pb ecriture fichier";}

attention ton fihier doit avoir les droits suffisants ( 777 )
0