[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: поиск слов которые больше определенных байт
Гость_Дмитрий
Суть такая у меня на сервере есть файл test.txt в нем много Id пользователей разделенны они построчно.(Каждый ID на новой строке). Мне нужно передачей ид Get запросом Id записать в текстовый файл но при этом проверить существует ли этот Id или нет если нет то записать его в файл. Вот мой скрипт
<?php
@$id = $_GET['id'];
$string=file_get_contents('test.txt');
if(ereg($id,$string))
{
print('Такой ид существует в базе');
}
else
{
$f=fopen("test.txt","a+");
$info.="$id\n";
fwrite($f,$info);
fclose($f);
}
?>


Это запись ID она вроде нормально работает а вот удаление ID из базы не очень
@$id = $_GET['id'];//получение ид
$file = fopen('test.txt ', 'r'); //чтение файла
$text = fread($file, filesize('test.txt '));
fclose($file);
$file = fopen('test.txt ', 'w');
$bez = str_replace($id, '', $text);
$txt = trim(preg_replace('/[\r\n]+/m',"\n",$bez));
fwrite($file, $txt);
fclose($file);


Удаляет нужный ID, получаются пустые строки вот этой я удаляю пустые строки
$txt = trim(preg_replace('/[\r\n]+/m',"\n",$bez));

Но иногда Id'ы смещаются на строку выше мне нужно полноценное удаление ид и строки помогите пожалйста



Спустя 13 минут, 14 секунд (7.07.2011 - 14:01) Mirexzpalich написал(а):
Проверка и добавление

<?php
$id = $_GET['id'];
$array_id=file('test.txt');
if(in_array($id,$array_id))
{
echo 'ID exist!';
}
else
{
$array_id[]=$id;
file_put_content('test.txt',join("\n",$array_id));
}
?>


Удаление

$id = $_GET['id'];
$array_id=file('test.txt');
unset($array_id[array_search($id,$arrai_id)]);
file_put_content('test.txt',join("\n",$array_id));


Изучай БД....

Спустя 22 минуты, 33 секунды (7.07.2011 - 14:24) Гость_Дмитрий написал(а):
А как можно объединить эти два скрипта?
например я отправляю GET http://creaziz.ru/test.php?id=57265&metod=del этим запросом он удаляет а если таким http://creaziz.ru/test.php?id=57265&metod=dob он добовляет

Спустя 43 минуты, 53 секунды (7.07.2011 - 15:07) CreAziZ написал(а):
file_put_content('test.txt',join("\n",$array_id)); Вот тут ошибка



Спустя 22 минуты, 47 секунд CreAziZ написал(а):
file_put_contents правильная функция.

Спустя 3 часа, 32 минуты, 56 секунд (7.07.2011 - 18:40) Mirexzpalich написал(а):
Гость_Дмитрий
Думай Дима, думай.... Ни чего сложного, чуточку фантазии.....

CreAziZ
редко пользуюсь... Бывает по памяти опечатываюсь...

Спустя 3 часа, 41 минута, 36 секунд (7.07.2011 - 22:22) CreAziZ написал(а):
$id = $_GET['id'];
$array_id=file('test.txt');
if(in_array($id,$array_id))
{
echo 'ID exist!';
}
else
{
$array_id[]=$id;
file_put_contents('test.txt',join("\n",$array_id));
}


У тебя вот тут где то ошибка так как он создает промежутки между записями если человек 100 отправят с разнами ид то промежутки будут очень большие так как я оставил на 4 часа прогу там за это время создали 700000+ строк а в проге примерно сидело человек 50 может чуть больше

Спустя 16 минут, 54 секунды (7.07.2011 - 22:39) Mirexzpalich написал(а):

$id = $_GET['id'];

$array_id = unserialize(file_get_contents('test.txt'));

if(in_array($id,$array_id))
{
echo 'ID exist!';
}
else
{
$array_id[]=$id;
file_put_contents('test.txt',serialize($array_id));
}

Спустя 20 минут, 19 секунд (7.07.2011 - 22:59) CreAziZ написал(а):
Ошибка
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/users1/c/creaziz/domains/creaziz.ru/Obt/beta/vse.php on line 11

Спустя 7 часов, 45 минут, 50 секунд (8.07.2011 - 06:45) Mirexzpalich написал(а):
CreAziZ
Ты файлик-то почисти....
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.