Страница 1 из 1

Обновление строк в файле

Добавлено: 13 окт 2005, 18:12
vitpanov
Народ! Доброго все времени суток! Есть такая задача: существует файл db.dat

Код: Выделить всё

1::111::13.10.2005 - 20:02:40
2::222::13.10.2005 - 20:02:40
3::333::13.10.2005 - 20:02:40
Надо сделать так чтобы при запросе по первой цифре (1,2,3) юзер мог изменить 2::Вот это содержимое::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); 
}
}
Но этот код берет и пишет в db.dat ,допустим, только строчку 1::111::Дата добавления а все что было стирает :(
Как сделать так чтобы он только обновлял и не стирал что было:?:

Добавлено: 13 окт 2005, 21:28
Oscar
'w+' Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать.
(c) fopen

Добавлено: 14 окт 2005, 13:14
vitpanov
Oscar, значит 'w' служит для открытия файла, удаления нужной строки, и записи в файл с новой строки других данных:?:

Добавлено: 14 окт 2005, 15:16
Oscar
vitpanov, угу, а ещё 'w' умеет мыть полы и стричь газоны...

Добавлено: 14 окт 2005, 17:59
Duncon
vitpanov, Типа вот тебе самая доступная для понимания книжка по php - почитай сразу процентов 80 детских вопросов отпадет...
http://www.poleznosti.nm.ru/php_book.rar

Добавлено: 18 окт 2005, 10:20
UUU
Если есть более 1 пользователя - то после открытия файл надо лочить.