提示コードですがなぜファイル書き込みに失敗するのでしょうか? board.txtは存在しています。vimエディタでファイルの中身を見ると空なのですが原因がわかりません。
※下記画像は上のboard.txtファイル問題のファイルです。またhtmlディレクトリに格納しています。同じディレクトリの中です。
参考サイト: https://flytech.work/blog/7671/#i-4
OS: さくらvps CentOS stream8
index.php
<!DOCTYPE html> <html> <head> <title>test</title> <meta charset="UTF-8"> </head> <body> <center> <h1> 掲示板 </h1> <?php $file = "board.txt"; if(file_exists() == true) { $board = json_decode(file_get_contents($file)); foreach($board as $message) { echo '<p>' ,$message[0], '</p>'; echo '<p>' ,$message[1], '</p><hr>'; } } ?> <form action="input-text.php" method="post"> <p> 名前 </p> <input type="text" name="name"> <p> 文章 </p> <textarea name="comment" cols="30" row="5"></textarea></br> <input type="submit" value="投稿"> </form> </center> </body> </html>
text-input.php
<!DOCTYPE html> <html> <head> <title> 入力 </title> <meta charset="UTF-8"> </head> <body> <?php $file = "board.txt"; if(file_exists() == true) { $board = json_decode(file_get_contents($file)); } $board[] = [$_REQUEST['comment'],$_REQUEST['name']]; if (file_put_contents($file,json_encode([$_REQUEST['comment'],$_REQUEST['name']])) == false ) { echo 'ファイル書き込み失敗'; } foreach($board as $message) { echo '<p>' ,$message[0], '</p>'; echo '<p>' ,$message[1], '</p><hr>'; } ?> </body> </html>
あなたの回答
tips
プレビュー