Форум сетевых администраторов
Показаны 10 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Проверка наличия записи перед добавлением ее в файл (http://netadmin.ws/forum/showthread.php?threadid=3336)


Помещено Slayer 29-09-2002 в 20:45:

Question Проверка наличия записи перед добавлением ее в файл

Есть текстовый файл file.txt

в нем записи:
111
222
333

через скрипт добавляю новую запись

как проверить наличии добовляемой записи и в этом случае сообщить о ее наличии без добавления дубликата

в противном случае (в случае отсутствия добовляемой записи) добавить запись в файл file.txt

__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz


Помещено polo 29-09-2002 в 21:38:

можно использовать функцию file.

__________________
Всегда есть решение.


Помещено Slayer 29-09-2002 в 21:56:

А кому не лень изобразить готовый код?

__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz


Помещено polo 29-09-2002 в 22:12:


PHP:


//$str - новая добавляемая запись
$lines = file('file.txt');
for (
$i = 0; $i < count($lines); $i++) {
if (
$lines[$i] == $str) {
$stopwrite = 1;
}
}

if (
$stopwrite != 1) {
//записываем в файл
} else {
//выводим ошибку
}

__________________
Всегда есть решение.


Помещено Slayer 29-09-2002 в 22:44:

Большое спасибо

тоды еще вопросик:

Если это не type="text" , а textarea и по одной записи на одной строке, можно ли их все проверить и записать в файл только новые, а дубликаты не писать?

__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz


Помещено polo 30-09-2002 в 00:28:


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);

__________________
Всегда есть решение.


Помещено Slayer 30-09-2002 в 22:34:

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


Помещено polo 02-10-2002 в 20:26:

а что пишит то?

__________________
Всегда есть решение.


Помещено Slayer 02-10-2002 в 20:39:

Parse error: parse error, expecting `T_VARIABLE' or `'$''

__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz


Помещено polo 02-10-2002 в 20:50:

странно
но напиши

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);

__________________
Всегда есть решение.


Формат времени GMT. Текущее время 18:05.
Показаны 10 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.