Heim > Fragen und Antworten > Hauptteil
Ich habe diesen Code auf einem PHP-Mail-Formular, das ich bis vor kurzem nicht verwendet habe.
//Open last-order.txt file for getting the order number $readFile = fopen("./order.txt", "r") or die("Unable to open file!"); $orden= fread($readFile,filesize("./order.txt")); fclose($readFile); ++$orden; $writeFile= fopen("./order.txt", "w") or die("Unable to open file!"); fwrite($writeFile, $orden); fclose($writeFile); if (!preg_match("~^(?:f|ht)tps?://~i", $website)) $website = "http://" . $website; $website = filter_var($website, FILTER_VALIDATE_URL); $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL); $participantes = filter_var($_POST["participantes"], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
Es verweist auf eine TXT-Datei namens order.txt, die die Datei liest und die Nummer bei jedem Lesen um eins erhöht. Leider verlor ich diese Datei, als mir der Hosting-Anbieter die kalte Schulter zeigte, und konnte weder auf den Server noch auf seine Backups zugreifen.
Dies ist der Text, den ich in die TXT-Datei eingefügt habe:
Orden: 8000
Ich bin kein wirklich begabter PHP-Programmierer, also habe ich versucht, es neu zu erstellen oder zum Laufen zu bringen, aber ohne Erfolg.
Das ist der Fehler:
[03-Jan-2023 13:29:22 America/Mexico_City] PHP Warning: Undefined variable $email_content in /home/guillerm/iefa.com.mx/rsvp/php/reserve.php on line 78 [03-Jan-2023 13:29:22 America/Mexico_City] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/guillerm/iefa.com.mx/rsvp/php/reserve.php:78) in /home/guillerm/iefa.com.mx/rsvp/php/reserve.php on line 149
Jede Hilfe, die mir den richtigen Weg weist, wäre sehr dankbar. Vielen Dank, dass Sie sich diesen Inhalt angesehen haben.
P粉8250797982024-04-03 00:59:44
it's literally just supposed to be a number. replace Orden: 8000
with just 8000
.
顺便说一句,该代码是线程不安全,如果您运行,数字可能会发生冲突/重复同时执行多个代码实例;如果需要线程安全,您可以这样做
$readFile = fopen("./order.txt", "c+b") or die("Unable to open file!"); flock($readFile, LOCK_EX); $orden = (int)stream_get_contents($readFile); ++$orden; rewind($readFile); fwrite($readFile, (string) $orden); flock($readFile, LOCK_UN); fclose($readFile);