Без описания |
Поиск в теме | Версия для печати |
lan |
Отправлено: 04 Февраля, 2006 - 13:17:54
|
лунатик
Покинул форум
Сообщений всего: 396
Дата рег-ции: Апр. 2005
Откуда: vrn
Карма -1
|
Digital man 53 пишет:: если твой скрипт будет использоваться кем-то, кроме тебя, то срочно его перепиши, т.к., если смотреть по минимуму, - у тебя не проверяется существование переменной.
да не в этом дело, мне нужно понять как это можно сделать на основе данного срипта, ну и конечно не помешал бы пример.ETC пишет:Digital man 53
Ключ «w» не позволяет читать файлы, он их обнуляет.
вот именно!
а ключ 'f+' пишет поверх имеющихся. |
|
|
ETC |
Отправлено: 05 Февраля, 2006 - 09:12:33
|
Flash-coder
Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003
Откуда: TimeZero
Карма 26
|
f+? Может a+? Тогда до кучи юзай fseek
Вообще можно так:
CODE:<?
$file = fopen("text.dat", "a+");
$tmp = fread($file,filesize($file));
fseek($file,0); // можно rewind($file);
fwrite ($file, $add."\n".$tmp);
fclose ($file);
header("location: index.php");
?>
Писать будет поверх данных... Но, т.к. мы прочитали старые, и суммарно данных будет больше, то мы затрём старые данные полностью... Если же ситуация другая и данных будет меньше, то придётся файл сначала открывать на чтение, потом открывать на запись с ключом w... |
|
|
lan |
Отправлено: 05 Февраля, 2006 - 10:39:20
|
лунатик
Покинул форум
Сообщений всего: 396
Дата рег-ции: Апр. 2005
Откуда: vrn
Карма -1
|
ну да =)
в принципе, понятно, короче, я разобрался нашел в одном учебнике подобный пример, как можно реалезовать то, что мне нужно, в общеем, вот если кому будет нужно:
CODE:<?
$logdata .= "$add";
$logdata .= "\n". join ("", file("text.dat"));
$fp = fopen("text.dat", "w");
flock($fp, 1);
fwrite($fp, $logdata);
flock($fp, 3);
fclose($fp);
header("location: index.php");
?> |
|
|
lan |
Отправлено: 05 Февраля, 2006 - 12:47:00
|
лунатик
Покинул форум
Сообщений всего: 396
Дата рег-ции: Апр. 2005
Откуда: vrn
Карма -1
|
теперь еще один вопросик:
создал еще один файл text2.dat, попытался сделать выбор записи или в text.dat или text2.dat? в index.php добавил две формы:
CODE:<input type="checkbox" name="edit" value="true"/>
<input type="checkbox" name="edit2" value="true"/>
в action.php
дополнил код:
CODE:<?
if ($edit)
{
$logdata .= "$add";
$logdata .= "\n". join ("", file("text.dat"));
$fp = fopen("text.dat", "w");
flock($fp, 1);
fwrite($fp, $logdata);
flock($fp, 3);
fclose($fp);
}
else
if ($edit2)
{
$$logdata .= "$add";
$logdata .= "\n". join ("", file("text2.dat"));
$fp = fopen("text2.dat", "w");
flock($fp, 1);
fwrite($fp, $logdata);
flock($fp, 3);
fclose($fp);
}
header("location: index.php");
?>
вроде работает, записывает, но все время выдает разные ошибки, то $edit не определена, то еще что-то, посмотрите, в чем ошибка?
и еще, как можно сделать в форме, чтобы можно было выбирать только один вариант? если через radio? |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): « 1 [2] |
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0) |
« PHP/Perl » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|