搜尋

首頁  >  問答  >  主體

PHP 表單中缺少 TXT 檔案。知道它應該包含什麼嗎?

我在 php 郵件表單上有這段程式碼,直到最近才使用。

//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);

它引用一個名為 order.txt 的 TXT 文件,該文件讀取該文件並在每次讀取時將數字加一。不幸的是,當託管提供者讓我對服務感到冷落時,我丟失了這個文件,無法存取伺服器或其備份。

這是我放在 TXT 檔案中的文字:

Orden: 8000

我並不是一個真正熟練的 PHP 編碼員,因此我嘗試重新創建它或使其工作,但沒有結果。

這是錯誤:

[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

任何為我指明正確方向的幫助,我將不勝感激。感謝您查看此內容。

P粉717595985P粉717595985237 天前499

全部回覆(1)我來回復

  • P粉825079798

    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);

    回覆
    0
  • 取消回覆