掲示板のデータを修正して、書き直しする部分を作ったのですが、
修正データを書き込む箇所で、該当レコードの次のレコードが削除されてしまい、四苦八苦しました。
そこで、試しにレコード番号に−1をしたところ削除されないようになり正常動作しました。

しかし、なぜ−1になるかわかりません

【環境】winXPsp2 + apache2 + php5


$input = implode(",",array($recode,$renen,$remake)); //入力データ作成
$dfile = file($data_file);   //既存ファイルの読み出し
$fp = fopen($data_file, "w");  //オープン

for($i=0; $i<sizeof($delfile); $i++){
 list($dcode,$dnen,$dmake) = split( ",", $dfile[$i]);

  if ($recode == $dcode) {   //該当データか判断
    $dfile[$i-1] = $input;   //該当箇所の書き換え  ←問題の箇所
  }
 fputs($fp,$dfile[$i]); //書き出し
}
fclose($fp);

該当レコードが0番目の場合
FPUTSで、レコード−1番にインプットが入って、fputsではレコード0を書き出している。
次に1を書き出して・・とやっていくと、−1は書き出されない計算になると思うのですが・・・

書いてることが支離滅裂になってきたけど、わかってください
とにかく気持ち悪いんです