fwrite不写任何东西

时间:2019-04-04 11:52:53

标签: php html fwrite

我正在研究评论机制。如果您留下评论,它将被保存在服务器上的.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 :(得分:0)

您在文件名字符串(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