Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2009, 03:39   #1
777grabber
 
Регистрация: 21.08.2009
Сообщений: 7
По умолчанию Удаление дублей

Помогите пожалуйста. Есть база синонимов русского языка нужно ее почистить от дублей. база выглядит так:
ip-адрес|айпишник
айпишник|ip-адрес
айпишника|ip-адреса
монета|рубль ---------------должна удалиться эта строка
ip-адреса|айпишника
айпишникам|ip-адресам
ip-адресам|айпишникам
рубль|монета
монета|рубль

я в пхп почти нешарю, есть код
Цитата:
<?php
set_time_limit(0);
$res=array();
$mass=file(”key.txt”);
$mass=array_unique($mass);
file_put_contents(’key_unique.txt’, implode(”",$mass));
?>
он постоянно показывает ошибку на 6 строке. что делать незнаю. если кто сможет модифицировать его до рабочего состояния заранее очень ..очень спасибо!
было бы неплохо если скрипт файл любого размера мог обработать.
777grabber вне форума Ответить с цитированием
Старый 11.11.2009, 08:19   #2
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Код:
<?php
$mass=array();
$mass=file('key.txt');  // загоняем файл в массив, элементы массива - строки файла(вместе с переносом строки)
$mass=array_unique($mass);  // убираем дубликаты
file_put_contents('key_unique.txt', implode('',$mass)); // записывам обратно в файл
?>
У вас там с кавычками путаница была. И первая строчка лишняя. Еще одна тонкость, т.к. элементы массива - это строки из файла вместе со знаком перевода строки, то для корректной работы скрипта, последняя строка файла key.txt должна быть тоже с этим знаком. Просто откройте файл key.txt, поставьте курсор в конец самой последней строки, нажмите Enter и сохраните изменения в файле.
Gorychev вне форума Ответить с цитированием
Старый 11.11.2009, 15:31   #3
777grabber
 
Регистрация: 21.08.2009
Сообщений: 7
По умолчанию

ошибка помогите плз.
Цитата:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in Z:\home\localhost\www\12php.php on line 3
размер файла 49мб.
777grabber вне форума Ответить с цитированием
Старый 11.11.2009, 16:18   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

памяти не хватает в настройках php сделайте больше

в папке с php файл php.ini
; Maximum amount of time each script may spend parsing request data
memory_limit =64M

или добавьте в скрипт
ini_set('memory_limit', '64M');
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 11.11.2009, 17:21   #5
777grabber
 
Регистрация: 21.08.2009
Сообщений: 7
По умолчанию

непомогло, может размер файла и количество строк в файле в игнорированеи поставить? если это поможет как сделать плз,.

забыл перегрузить денвер....

Спасибо! Все получилось, класный у вас форум, так держать.)))

Последний раз редактировалось 777grabber; 11.11.2009 в 18:16.
777grabber вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление RX artemavd БД в Delphi 1 14.06.2009 19:24
Удаление строки Minton87 Общие вопросы Delphi 4 07.05.2009 02:32
каскадное удаление Skolot Microsoft Office Access 0 20.04.2009 11:12
Удаление файлов Amery Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 04.05.2008 14:46