Frage : Form zur Textdatei schreiben - Text anstelle von hinzufügen überschreiben? PHP

Ich habe eine eMail-Listenverpflichtungsform auf einer Web site mit nur einer Feld benannten „eMail“. Der Code unterhalb der Arbeiten, zum des eMail-Formfeldes zu einer Textdatei zu schreiben: emaillist.txt. Jedoch zeigt sie nur die letzte eingereichte eMail. Ich wünsche sie die eMail addieren und eine Liste erstellen, anstatt, die letzte Eintragung gerade zu überschreiben. Auch am Ende möchte ich, dass es zu einer Seite geht, die thankyou.php genannt wird, anstatt, eine Mitteilung anzuzeigen.

$ourFileName = „emaillist.txt“;
$ourFileHandle = fopen ($ourFileName, „w ") oder sterben („nicht kann geöffnete Akte“);
fclose ($ourFileHandle);

$email=$_POST [„eMail“];
if ($email! = '') {
$input = $email;
file_put_contents („emaillist.txt“, $input. “, „, FILE_APPEND);
Echo „danken Ihnen für Ihren Eingang! Ihre Wahl ist…“ gespeichert worden;
}
? >


Thanks, Gary

Antwort : Form zur Textdatei schreiben - Text anstelle von hinzufügen überschreiben? PHP

$ourFileName = „emaillist.txt“;

$email=$_POST [„eMail“];
wenn ($email! = '') {
// addieren eine Linie Bruch, um nur ein email address pro Linie zu haben
   $input = $email. „\ n“;

//, das mit fmode w öffnet, überschreibt die Akte, jedes Mal wenn Sie ein neues email address schreiben
   $ourFileHandle = fopen ($ourFileName, „a ") oder sterben („nicht kann geöffnete Akte“);

//-Gebrauch fwrite, zum der geöffneten Akte zu gebrauchen. Sie schließen und sie für file_put_contents wieder öffnend ()
// sind nicht notwendige Aktenbetriebe
   fwrite ($ourFileHandle, $input);
   fclose ($ourFileHandle);
   Überschrift ('Position: http://www.example.com/thankyou.php');
}
? >
Weitere Lösungen  
 
programming4us programming4us