前提・実現したいこと
投稿番号の削除機能を実装したい。
ここに質問の内容を詳しく書いてください。
phpで指定した投稿番号を削除しファイルを更新する機能を実装したいです。
投稿番号の削除の機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Warning: fwrite(): supplied argument is not a valid stream resource in /home/tt-190.99sv-coco.com/public_html/mission_2-3.php on line 68 Warning: fclose(): supplied argument is not a valid stream resource in /home/tt-190.99sv-coco.com/public_html/mission_2-3.php on line 71
該当のソースコード
PHP
1<?php 2//フォームからの受け取り 3 $comment = $_POST['comment']; 4 $name = $_POST['name']; 5 $delete = $_POST['delete']; 6 7 8//ファイルの作成 9 $filename = 'mission_2-3_MasayaKokubo.txt'; 10 $fp_make = fopen($filename,'a'); 11 $fwrite = ($fp_make); 12 $fclose = ($fp_make); 13 14//ファイルへの追記変数 15 $fp_add = fopen($filename,'r+'); 16 17//日付けの変数 18 $date = date ('Y年m月d日H時m分s秒'); 19 20//投稿番号 21 $a = 0; 22 flock($fp_add,LOCK_EX); 23 while(fgets($fp_add) !== false){ 24 $a++; 25 } 26 $next = $a +1; 27 28 29 $conntent = $next.'<>'.$name.'<>'.$comment.'<>'.$date; 30 31 32//テキストファイルへの書き込み 33 if(!empty($comment) and !empty($name)){ 34 fwrite($fp_add,$conntent.PHP_EOL); 35 } 36 flock($fp_add,LOCK_UN); 37 fclose($fp_add); 38 39//ファイルを配列に格納 40 $files = file($filename); 41 42//配列を分割しループ 43 for($i = 0 ; $i <count($files); $i++){ 44 $line_ex = explode('<>',$files[$i]); 45 echo $line_ex[0]." "; 46 echo $line_ex[1]." "; 47 echo $line_ex[2]." "; 48 echo $line_ex[3]."<br>"; 49 } 50 51//投稿の削除 52 if(!empty($delete)){ 53 $fp_delete = fopen($filenamea,'w'); 54 for($j = 0; $j <count($files); $j++){ 55 $deldate = explode("<>",$files[$j]); 56 if($deldate[0] != $delete){ 57 fwrite($fp_delete,$files[$j]); 58 } 59 } 60 fclose($fp_delete); 61 } 62?> 63
折角エラーメッセージで原因を教えてくれているのだから、まずそのエラーメッセージで調べて、調べた結果試してみてください。おそらくこの内容だと質問するより調べた方が早いですし、もし、調べてやってみた結果解決に至ってないのでしたらその経緯や調べてやってみた内容も質問に記載してください。
あとファイル名はそのままWeb上で公開しても大丈夫なものですか?場合によってはこの質問は削除依頼を出してもらって、修正した内容で新たな質問を立ててもらった方がいいかもしれません。ご検討ください。
ご指摘ありがとうございます。ただ、削除ボタンがどこを見ても発見できません。削除ボタンはどの変にありますか??基本的な質問ですみません
回答がついた質問は質問から削除依頼が出せませんので運営問い合わせで送ってください。
回答2件
あなたの回答
tips
プレビュー