[PHP] Ecrire dans un TXT
killerscraft
Messages postés
41
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain42 -
Alain42 -
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 :)
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:
- [PHP] Ecrire dans un TXT
- Ecrire en gras sur whatsapp - Guide
- Comment écrire # sur pc - Guide
- Écrire en majuscule - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ecrire en miroir - Guide
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.
tu pourras ensuite rajouter ta nouvelle ligne au début de cet array et le réecrire ans le fichier par fputs.
Merci de ta réponse, mais j'avoue ne pas etre assez calé pour comprendre ^^
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 )
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 )