Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с простым скриптом-обработчиком текстового файла [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 2 [3] 4 »   

> Описание: Обработка текстовых файлов с субтитрами.
Строитель
Отправлено: 11 Февраля, 2017 - 20:06:37
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME пишет:
Я выше писал что обычно новички чего-то попарсят и думают что умеют
Это не так
Теперь понимаешь к чему я это говорил?
Не все так просто в реалиях кровавого девелопмента))
(Добавление)
А если полезная инфа занимает более строки?
Боль
Опыт приходит со временем ))
(Добавление)
LIME пишет:
Никак не правильно
Нетривиально решается
По ситуации
О, это полезный совет, спс )
 
 Top
LIME
Отправлено: 11 Февраля, 2017 - 20:13:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ОК
Дам более полезный
Например можно брать блоки по 1мб
И их парсить как маленькие файлы
Тогда нужно учесть границы блоков
И их отдельно обработать как еще маленькие файлы

Чтобы не дублировать инфу надо ее класть с ключем

Как то так
Так легче?))
 
 Top
Строитель
Отправлено: 11 Февраля, 2017 - 20:18:29
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME пишет:
Так легче?))
Так ещё вопросы появляются Радость По какому принципу организовывать эти блоки? Ведь нельзя же ровно на 1-ом мегабайте разорвать файл и воткнуть какой-то ограничитель?

И ещё мне не понятно, что из себя должен представлять ограничитель блока? Это может быть обычный возврат каретки с переводом строки?

(Отредактировано автором: 11 Февраля, 2017 - 20:19:14)

 
 Top
LIME
Отправлено: 11 Февраля, 2017 - 20:21:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Так потому и работать с границами блоков отдельно
И чтобы инфу не повторять придумать ключ
Вот вот
Вопросы лавинообразно
А я о чем
(Добавление)
Распарси лог на 30 Гибибайт
Бинарный
Не текстовый
И купи себе медаль смело
 
 Top
Строитель
Отправлено: 11 Февраля, 2017 - 20:24:03
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME пишет:
И чтобы инфу не повторять придумать ключ
Ну всё, ты меня запутал окончательно Ха-ха ))
 
 Top
LIME
Отправлено: 11 Февраля, 2017 - 20:29:17
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Ну типа если читаем инфу по человекам то номер паспорта делаем ключем
Тогда читаем поблочно
И заносим в бд
И отдельно читаем +- две строки-на границах блоков
Чтоб не терять инфу на разрывах
Тогда можем дублировать инфу
Чтоб на такое не нарваться пишем данные с ключем например по-номеру паспорта
Фуууух
Это примерный вариант
(Добавление)
Границы без признака
Тупо читаем по 1мигибайту
 
 Top
Строитель
Отправлено: 11 Февраля, 2017 - 20:35:44
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME пишет:
Ну типа если читаем инфу по человекам то номер паспорта делаем ключем
Тогда читаем поблочно
И заносим в бд
И отдельно читаем +- две строки-на границах блоков
Чтоб не терять инфу на разрывах
Тогда можем дублировать инфу
Чтоб на такое не нарваться пишем данные с ключем например по-номеру паспорта
Фуууух
Это примерный вариант
Мне ещё не приходилось на практике объёмные файлы парсить, но теоретически мне было не понятно, как это реализовывается. Теперь понял, правда пока тоже теоретически. Благодарю за инфу )
 
 Top
LIME
Отправлено: 11 Февраля, 2017 - 20:39:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Это не инфа о решении
Это инфа о камнях под водой
Не за что
Удачи
 
 Top
Строитель
Отправлено: 11 Февраля, 2017 - 20:39:43
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME, ещё один вопрос возник -- а как же потом "склеивать" разорванный файл?
 
 Top
LIME
Отправлено: 11 Февраля, 2017 - 20:41:58
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Никак
Прочли блок
Прочли границу с предыдущим
Обработали
Забыли
Прочли следующий
(Добавление)
Вопросов больше чем ответов)
И это в порядке вещей
 
 Top
Строитель
Отправлено: 11 Февраля, 2017 - 20:44:24
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME пишет:
Никак
Прочли блок
Прочли границу с предыдущим
Обработали
Забыли
Прочли следующий
Я протупил )) Исходный же файл мы не меняем, мы извлекаем из него требуемые данные. Поэтому никакой "сборки" исходника не требуется.
 
 Top
LIME
Отправлено: 11 Февраля, 2017 - 20:46:47
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Агась)
Менять большой файл это отдельная тема
А еще он может лежать удаленно
И быть архивом
Ооой
Начать и кончить
Страшно тебе?))
 
 Top
Строитель
Отправлено: 11 Февраля, 2017 - 20:48:06
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME пишет:
Агась)
Менять большой файл это отдельная тема
А еще он может лежать удаленно
И быть архивом
Ооой
Начать и кончить
Страшно тебе?))
Не, наоборот интересно ))
 
 Top
LIME
Отправлено: 11 Февраля, 2017 - 20:50:41
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Тогда еще подкину
Если другие его тоже читают и изменяют?
Блокировка?
Возможно
На каком уровне?
Страшно?
Могу еще придумать траблы но это уже совсем теоретические будут)
(Добавление)
Короче не тривиально
Удачки
 
 Top
Строитель
Отправлено: 11 Февраля, 2017 - 20:55:58
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




LIME пишет:
Если другие его тоже читают и изменяют?
Блокировка?
Ну вроде бы да, блокировка.
LIME пишет:
На каком уровне?
Не понял этого вопроса... О каких уровнях блокировки идёт речь? Я знаю только одну блокировку, с помощью функции flock().
LIME пишет:
Могу еще придумать траблы но это уже совсем теоретические будут)
Пока достаточно и этой инфы ))
 
 Top
Страниц (4): « 1 2 [3] 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB