Обновление строк в файле
Добавлено: 13 окт 2005, 18:12
Народ! Доброго все времени суток! Есть такая задача: существует файл db.dat
Надо сделать так чтобы при запросе по первой цифре (1,2,3) юзер мог изменить 2::Вот это содержимое::13.10.2005 - 20:02:40 .
Cтраница которая у меня это делает reload.php
Но этот код берет и пишет в db.dat ,допустим, только строчку 1::111::Дата добавления а все что было стирает
Как сделать так чтобы он только обновлял и не стирал что было:?:
Код: Выделить всё
1::111::13.10.2005 - 20:02:40
2::222::13.10.2005 - 20:02:40
3::333::13.10.2005 - 20:02:40
Cтраница которая у меня это делает reload.php
Код: Выделить всё
Error_Reporting(E_ALL & ~E_NOTICE);
global $us,$form,$gotovo,$rub,$db,$cont,$date;
if (empty($_POST)){
$form = "
<title>обновление текстового файла</title>
<form action=reload.php?us=yes method=post>
<table align=center border=1 bordercolor=black>
<tr><td>Что:<input type=text name=cont>Куда:<select name=rub>
<option selected=selected value=1>В первую.</option>
<option value=2>Во вторую.</option>
<option value=3>В третью.</option>
</select><input type=submit name=submit class=send value=::Обновить::></td></tr>
</table>
</form>
";
}
echo $form;
if ($us!="yes") {$us = "";} else {$us = "В колонку №$rub добавлена запись $cont!";}
echo $us;
$db="db.dat";
$rub=$_POST['rub'];
$dbArr=file("$db");
$date=date("d.m.Y - H:i:s");
for($i=0;$i<count($dbArr);$i++){
$Line=split("::",$dbArr[$i]);
if ( $rub==$Line[0] ) {
$fp=fopen($db,'w+');
$gotovo="$rub::$cont::$date";
fputs($fp,$gotovo); fclose($fp);
}
}

Как сделать так чтобы он только обновлял и не стирал что было:?: