[PHP] Ecrire dans un TXT
killerscraft
Messages postés
42
Statut
Membre
-
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 :)
Configuration: Windows XP Internet Explorer 7.0
A voir également:
- [PHP] Ecrire dans un TXT
- Ecrire en gras sur whatsapp - Guide
- Expert php - Télécharger - Langages
- Comment écrire sur 2 colonnes dans word - Guide
- Comment écrire m2 sur clavier ✓ - Forum Bureautique
- Écrire plusieurs lignes dans une cellule excel - 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.
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 )