参考書に下記のようなコードがあります。
lang
1<?php 2// 一時ファイルに新しいデータを送り、そのファイルに既にあるデータを追記し、bbs.datにリネーム 3$old_file = fopen('bbs.dat', 'rb'); 4$new_file = fopen('bbs.tmp', 'wb'); 5flock($old_file, LOCK_SH); 6flock($new_file, LOCK_EX); 7fputs($new_file, date('Y年 m月 d日 H:i:s')."\t"); 8fputs($new_file, $_POST['name']."\t"); 9// sleep(5); 存在意義がわからない 10fputs($new_file, $_POST['body']."\n"); 11// fputs→一時ファイルの先頭に新しい情報を書き込み 12// 日時<\t>名前<\t>本文<\n>が横並びになった行が一行ずつ改行され書き込まれていく 13while ($row = fgets($old_file)) { 14 fputs($new_file, $row); 15} 16// while→bbs.datの内容をbbs.tmpに書き込み 古い情報を新しいファイルに追記 17flock($new_file, LOCK_UN); 18flock($old_file, LOCK_UN); 19fclose($new_file); 20fclose($old_file); 21unlink('bbs.dat'); 22rename('bbs.tmp', 'bbs.dat'); 23header('Location: http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/').'/guest_input.php'); 24
whileの部分の処理が頭の中でイメージできないのですが、
初心者にもわかるように処理の流れ、日本語訳を教えていただけないでしょうか。
宜しくお願い致します。
ここの部分です↓
// while→bbs.datの内容をbbs.tmpに書き込み 古い情報を新しいファイルに追記
lang
1while ($row = fgets($old_file)) { 2 fputs($new_file, $row); 3}
------------------------------以上
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/09 01:57