Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

чтение файла

365
01 ноября 2004 года
MasterSID
230 / / 23.02.2003
В общем у меня проблема такая: мне нужно разделить текстовый файл на группы слов по 3 штуки, затем взять n-ое количество этих групп, причем совершенно в слчайном порядке из всего текста. n обычно не более 30

Я сделал очень просто: прочитал файл в переменную, разбил ее на слова функцией explode потом склеил в группы по 3 слова из этих групп составил массив, который потом перемешал shuffle() и взял по порядку сначала этого массива n-ое количество элементов массива.

сделал я скорее всего коряво, да и вообще если текстовый файл больше 100 кб, то скрипт просто тормозит ужасно. А мне нужно чтобы я без проблем мог работать с файлами размером в 1-5 мб. Сейчас я вижу только один путь - писать на С программу, которая будет возвращать сгенерированный нужный мне кусок текста коду php. На С вроде бы не сложно оптимизировать этот процесс.

У меня такой вопрос - можно ли решить эту проблему средствами PHP?
338
02 ноября 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by MasterSID
Сейчас я вижу только один путь - писать на С программу, которая ...


Сейчас главное не впадать в панику. Можно же делать fopen, затем random offset, fseek, random length, fread, повторять random раз и с полученными данными работать. Эффект такой же, как и случайная выборка из всего файла, и по большому счету оптимальнее твоего алгоритма независимо от языка реализации.

365
02 ноября 2004 года
MasterSID
230 / / 23.02.2003
ок, попробую, спасибо тебе
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог