PHP
1if (isset($_POST["delete"])) { 2 $delete = $_POST["delete"]; 3 $delCon = file("mission_3-4.txt"); 4 5 $fp = fopen($filename, "w"); 6 for ($j = 0; $j < count($delCon); $j++) { 7 $delDate = explode("<>", $delCon[$j]); 8 9 if ($delDate[0] != $delete) { 10 fwrite($fp, $delCon[$j]); 11 12 } else { 13 fwrite($fp, "消去しました。\n"); 14 } 15 } 16 fclose($fp); 17 }
こちらのコード、教材通りに書いたら動いたのですが仕組みがいまいち理解できません
wモードで開くと一度ファイルは消えますよね
そこから$delDate[0] != $deleteを満たしたら消えたファイルを再度書き込み
満たさなかったら一行だけ消去しますが、どうやって一行だけ消去しているのでしょうか
満たさなかった場合、”消去しました”を書く!というコードだけしか書いていないと思うのですが…
PHP
1//akbに入っていたら編集 2 if (!empty($_POST['akb'])) { 3 $karabako = ($_POST["akb"]); 4 $ret_array = file($filename); 5 6 foreach ($ret_array as $line) { 7 $data = explode("<>", $line); 8 if ($data[0] == $akb){ 9 $fp = fopen($filename, "w"); 10 if ($data[0] == $delete) { 11 fwrite($fp,$akb . "<>" . $namae . "<>" . $comment . "<>" . $date ); 12 } 13 fclose($fp); 14 } 15 } 16 }
上の仕組みを理解出来たら下のコードの差し替えに挑戦したいです
基本中の基本で申し訳ないですが回答お待ちしています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/28 10:28
2020/10/28 10:55
2020/10/28 12:26
2020/10/28 12:32
2020/10/28 12:46