|
|
|
| А не кто не слышал про метод fseek он вроде устанавливает указатель на нужную позицию, но как им пользоваться я так и не допер.
[поправлено модератором: тема выделена из "Извлечь случайную строку из 40Мб файла"] | |
|
|
|
|
|
|
|
для: mrvans
(08.02.2011 в 00:19)
| | Trianon и Красная_шляпа ровно про него и говорят, но для этого сначала нужно узнать эту позицию. Если строки одинаковой длины, то эту позицию можно вычислить, как предлагает Красная_шляпа, если строки разной длины, то файл нужно просканировать и запомнить позиции строк, как предлагает Trianon. | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 00:22)
| | Дело в том что файл каждый раз меняется. Верней данные находящийся в нем). | |
|
|
|
|
|
|
|
для: mrvans
(08.02.2011 в 00:24)
| | Э... простите, Вы о файле Codeigniter'а говорите? | |
|
|
|
|
|
|
|
для: mrvans
(08.02.2011 в 00:24)
| | Данные дописываются в конец файла или по новой перезаписываются с начала файла? | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 00:25)
| | да именно, данные не дописываются
это идет импорт данных в базу
файл полностью меняется, абсолютно все в нем включая кол-во позиций.
но от 1 строки до 10 строки хранятся данные вот они нужны) | |
|
|
|
|
|
|
|
для: mrvans
(08.02.2011 в 00:28)
| | если у Вас есть СУБД, строить какие-то самодельные схемы доступа к строкам в 90% бессмысленно.
СУБД то же самое реализует куда эффективнее. | |
|
|
|
|
|
|
|
для: Trianon
(08.02.2011 в 00:32)
| | Понимаешь данные поставщика находятся 1 - 10 строках и ни я это придумал.
меня не спрашивают как я должен хранить, мне сказали что там данные по ним ты определишь от какого поставщика приходит товар, это все импортируется с почты потом начинается сам импорт. Поэтому мне для начала нужно узнать данные а потом читать файл целиком. | |
|
|
|
|
|
|
|
для: mrvans
(08.02.2011 в 00:38)
| | Тогда вам можно о fseek() не задумываться, просто разбираться файл как обычно, читая его строка за строкой.
PS Лучше все-таки для новых вопросов заводить новые темы, а не задавать их в уже существующих. На форуме лестничная структура и с объемными темами неудобно работать. | |
|
|
|
|
|
|
|
для: mrvans
(08.02.2011 в 00:38)
| | >Понимаешь данные поставщика находятся 1 - 10 строках
и в чем трудность 10 раз вызвать функцию fgets() ?
>меня не спрашивают как я должен хранить, мне сказали что там данные по ним ты определишь от какого поставщика приходит товар, это все импортируется с почты потом начинается сам импорт. Поэтому мне для начала нужно узнать данные а потом читать файл целиком.
пока что я не понимаю, имеет ли какое-то отношение эта история к проблеме топикстартера или нет. | |
|
|
|
|
|
|
|
для: Trianon
(08.02.2011 в 00:44)
| | Я так и сделал но мне кажется это изврат.) Я думал мне тут подскажут другое решение). Спасибо народ. Я так сделал уже пару дней назад) | |
|
|
|