fwrite ничего не пишет - PullRequest
       13

fwrite ничего не пишет

0 голосов
/ 04 апреля 2019

Я работаю над комментарием меганизма.Если вы оставите комментарий, он будет сохранен в файле .txt на сервере.

Первая проблема заключалась в том, что я не смог найти файл, в котором были сохранены комментарии. Я не знаю, почему, но это работает сейчас.Вторая проблема заключалась в том, что он ничего не записывал в файл comment.txt.Пользователь заполняет форму, которая ссылается на этот фрагмент кода в отдельном файле с именем submitComment.php. Это мой код:

<?php
    $fileName = "comments/thing1.txt";
    if($_SERVER['REQUEST_METHOD']=='POST'){
        $name = $_POST['name'];
        $theComment = $_POST['resentie'];
        $myfile = fopen($fileName, "a+");
        $whatToWrite = $name . PHP_EOL . $theComment;  //this is what it needs to write.
        fwrite($myfile, $whatToWrite);

        fclose($fileName);
    };
    ?>

Я хочу, чтобы он сказал что-то вроде этого.

Алекс
Эй, это комментарий.

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 11 апреля 2019

Вы используете fclose в строке имени файла ($fileName), но для этого необходимо передать дескриптор файла ($myfile):

<?php
$fileName = "comments/thing1.txt";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    $theComment = $_POST['resentie'];
    $myfile = fopen($fileName, "a+");
    $whatToWrite = $name.PHP_EOL.$theComment;  //this is what it needs to write.
    fwrite($myfile, $whatToWrite);

    fclose($myfile); // <- This line is changed
};
?>

Было бы неплохо установитьсоздание отчетов об ошибках, чтобы помочь вам отлаживать программы.

PHP выводитошибка, подобная этой, для вашего исходного кода:

Warning: fclose() expects parameter 1 to be resource, string given in /path/to/php/file on line 9

...