php
16:02 16-03-2003 О клубе
php- клуб, посвященный вопросам и проблемам веб-программирования.

Правила клуба составляются.

Все, кому интересен этот клуб, кто желает принять в нём участие - пишите.
Комментарии:
Козочка
09:39 17-03-2003
А я в пхп ничче не понимаю %)
но читать буду... вдруг чему-нить да и научусь %))
Alick
19:07 26-03-2003
Вопрос к хранителям клуба: можно ли дать ссылку на запись в своем дневнике по тематике клуба?
Если желаете ознакомиться, то это здесь: http://www.journals.ru/journals.php...=18035&id=86260

отредактировано: 26-03-2003 19:08 - Alick

zar
19:25 26-03-2003
конечно, если тема касается тематики.

тем более правила еще не сформированы . правила будут составляться наверно когда наберется народ.
zar
19:31 26-03-2003
насчет твоей темы. попробуй что-то подобное для разбиения.
  $filename = 'file.txt'; // адрес файла
  $begin = 1; // первый индекс
  $end = 5; // последний индекс
  $res = implode ("", file($filename)); 
  $res = explode('<!--New notice-->', $res); 
  $res = array_slice($res, $begin, $end); 


с архивированием не игрался, надо посмотреть архивы форумов.

отредактировано: 26-03-2003 19:36 - zar

Alick
19:36 26-03-2003
zar интересное решение, только как оно будет работать при больших размерах файла?
zar
19:39 26-03-2003
при больших размерах файла имхо любой алгоритм разбиения в лоб будет работать медленно. можно использовать реги, но наверно будет тоже самое.

если уж такая клиническая ситуация, то стоит разбивать на отдельные файлы всё это, обзывая их по какому-то закону. будет быстрее.
Alick
00:41 27-03-2003
А чем плох индексный файл? Чтение индекса, тем более - бинарного, будет проходить влет.
zar
11:23 27-03-2003
что будет храниться в индексе? адрес заметки в файле? так всё равно придётся читать файл.
Alick
11:33 27-03-2003
zar, в индексе будет хранится адрес заметки в файле.
Читать файл придется , но отпадает необходимость считывать весь файл по строкам в поиске нужной заметки.
zar
12:38 27-03-2003
провёл у себя небольшой тест работы fseek. впечатляет. файлик обрабатывал достаточно большой(больше 350мб). N раз открывал файл, и по определенному Offset читал Length символов. в итоге всё выполняется много меньше секунды.
http://my.mnet.uz/zar/fseek.php, http://my.mnet.uz/zar/fseek.php?src.
При этом implode-explode метод просто повесил машину на несколько минут(p-266;128MB;FreeBSD4.6).

data.txt размером 365404416
--------------------------------------------------------------------------------
offset: 16198100; length: 4972; str_size: 4972; time: 0.008783;
offset: 42817566; length: 24431; str_size: 24431; time: 0.014515;
вырезано
offset: 16560067; length: 14174; str_size: 14174; time: 0.007672;
offset: 21385983; length: 28433; str_size: 28433; time: 0.010207;

отредактировано: 27-03-2003 16:29 - zar

Alick
13:36 27-03-2003
Во-во, и я про то-же. Имхо - самый эффективный метод. Получается простенькая (ну совсем) бд.
Genux
23:44 31-03-2003
Да, кстати, предлагаю вставить в качестве аватара
[изображение]