Rumah  >  Soal Jawab  >  teks badan

Fail TXT tiada daripada borang PHP. Sebarang idea apa yang sepatutnya mengandungi?

Saya mempunyai kod ini pada borang mel php yang saya tidak gunakan sehingga baru-baru ini.

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

Ia merujuk kepada fail TXT yang dipanggil order.txt yang membaca fail dan menambah nombor satu setiap kali ia dibaca. Malangnya, apabila penyedia pengehosan memberi saya rasa tenang, saya kehilangan fail ini dan tidak dapat mengakses pelayan atau sandarannya.

Ini adalah teks yang saya letakkan dalam fail TXT:

Orden: 8000

Saya sebenarnya bukan seorang pengekod PHP yang mahir jadi saya cuba mencipta semula atau menjadikannya berfungsi, tetapi tidak berjaya.

Ini adalah ralatnya:

[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

Sebarang bantuan yang menunjukkan saya ke arah yang betul akan sangat dihargai. Terima kasih kerana melihat kandungan ini.

P粉717595985P粉717595985223 hari yang lalu488

membalas semua(1)saya akan balas

  • P粉825079798

    P粉8250797982024-04-03 00:59:44

    ia betul-betul sepatutnya sebagai nombor ganti Orden: 8000 with just 8000.

    BTW, kod ini benang-tidak selamat, nombor mungkin bercanggah/mendua jika anda menjalankan berbilang kejadian kod secara serentak; jika anda perlu selamat untuk thread, anda boleh melakukan ini

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

    balas
    0
  • Batalbalas