 |
 |
Форум сетевых администраторов » Программирование » PHP » Проверка наличия записи перед добавлением ее в файл
| Автор |
| Тема |
 |
|
 |
|
|
|
[XN] TEAM
|
Проверка наличия записи перед добавлением ее в файл |
[сооб. #26215]
29-09-2002 20:45 |
|
[XN] TEAM


Зарегистрирован: Jul 2001
Место проживания:
Публикаций: 262
Статус:  |
Есть текстовый файл file.txt
в нем записи:
111
222
333
через скрипт добавляю новую запись
как проверить наличии добовляемой записи и в этом случае сообщить о ее наличии без добавления дубликата
в противном случае (в случае отсутствия добовляемой записи) добавить запись в файл file.txt
__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-09-2002 20:45 |
|
|
Администратор
|
| можно использовать функцию http://php.net/file.... |
[сооб. #26224]
29-09-2002 21:38 |
|
|
[XN] TEAM
|
| А кому не лень изобразить готовый код? |
[сооб. #26225]
29-09-2002 21:56 |
|
|
Администратор
|
[php]
//$str - новая добавляемая запись
$lines = file('file.txt');
for... |
[сооб. #26228]
29-09-2002 22:12 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
PHP:
//$str - новая добавляемая запись
$lines = file('file.txt');
for ($i = 0; $i < count($lines); $i++) {
if ($lines[$i] == $str) {
$stopwrite = 1;
}
}
if ($stopwrite != 1) {
//записываем в файл
} else {
//выводим ошибку
}
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-09-2002 22:12 |
|
|
[XN] TEAM
|
Большое спасибо
тоды еще вопросик:
Если... |
[сооб. #26233]
29-09-2002 22:44 |
|
[XN] TEAM


Зарегистрирован: Jul 2001
Место проживания:
Публикаций: 262
Статус:  |
Большое спасибо
тоды еще вопросик:
Если это не type="text" , а textarea и по одной записи на одной строке, можно ли их все проверить и записать в файл только новые, а дубликаты не писать?
__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz
Сообщение было отредактировано Slayer 29-09-2002 в 23:03
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-09-2002 22:44 |
|
|
Администратор
|
[php]
//допустим $str сотдержит данные из текстарии... |
[сооб. #26235]
30-09-2002 00:28 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
PHP:
//допустим $str сотдержит данные из текстарии разделенные \n
$strtoad = explode("/n", $str);
$lines = file('file.txt');
for ($i = 0; $i < count($strtoad); $i++) {
if (in_array("$strtoad[$i]", $lines) {
unset("$strtoad[$i]");
}
}
$str = implode("\n", $strtoad);
$wf = fopen('file.txt', 'a');
print "\n$str";
fclose($wf);
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
30-09-2002 00:28 |
|
|
[XN] TEAM
|
polo, не пашет 
ругался на:
if (in_array("$strtoad[$i]",... |
[сооб. #26314]
30-09-2002 22:34 |
|
[XN] TEAM


Зарегистрирован: Jul 2001
Место проживания:
Публикаций: 262
Статус:  |
polo, не пашет 
ругался на:
if (in_array("$strtoad[$i]", $lines) {
добавил скобку:
if (in_array("$strtoad[$i]", $lines)) {
стал ругаться на:
unset("$strtoad[$i]");
__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
30-09-2002 22:34 |
|
|
[XN] TEAM
|
| Parse error: parse error, expecting `T_VARIABLE' or `'$'' |
[сооб. #26514]
02-10-2002 20:39 |
|
[XN] TEAM


Зарегистрирован: Jul 2001
Место проживания:
Публикаций: 262
Статус:  |
Parse error: parse error, expecting `T_VARIABLE' or `'$''
__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
02-10-2002 20:39 |
|
|
Администратор
|
странно
но напиши
[php]
//допустим $str сотдержит... |
[сооб. #26515]
02-10-2002 20:50 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
странно
но напиши
PHP:
//допустим $str сотдержит данные из текстарии разделенные \n
$strtoad = explode("/n", $str);
$lines = file('file.txt');
for ($i = 0; $i < count($strtoad); $i++) {
$tocheck = $strtoad[$i];
if (in_array("$tocheck", $lines) {
unset("$strtoad[$i]");
}
}
$str = implode("\n", $strtoad);
$wf = fopen('file.txt', 'a');
print "\n$str";
fclose($wf);
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
02-10-2002 20:50 |
|
|
|
Формат времени GMT. Текущее время 16:43.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 0.50601006 seconds (98.62% PHP - 1.38% MySQL) with 26 queries.
|
 |