Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Последовательное чтение файла vs перемещение при помощи fseek()
 
 автор: mrvans   (08.02.2011 в 00:19)   письмо автору
 
 

А не кто не слышал про метод fseek он вроде устанавливает указатель на нужную позицию, но как им пользоваться я так и не допер.

[поправлено модератором: тема выделена из "Извлечь случайную строку из 40Мб файла"]

  Ответить  
 
 автор: cheops   (08.02.2011 в 00:22)   письмо автору
 
   для: mrvans   (08.02.2011 в 00:19)
 

Trianon и Красная_шляпа ровно про него и говорят, но для этого сначала нужно узнать эту позицию. Если строки одинаковой длины, то эту позицию можно вычислить, как предлагает Красная_шляпа, если строки разной длины, то файл нужно просканировать и запомнить позиции строк, как предлагает Trianon.

  Ответить  
 
 автор: mrvans   (08.02.2011 в 00:24)   письмо автору
 
   для: cheops   (08.02.2011 в 00:22)
 

Дело в том что файл каждый раз меняется. Верней данные находящийся в нем).

  Ответить  
 
 автор: Trianon   (08.02.2011 в 00:25)   письмо автору
 
   для: mrvans   (08.02.2011 в 00:24)
 

Э... простите, Вы о файле Codeigniter'а говорите?

  Ответить  
 
 автор: cheops   (08.02.2011 в 00:25)   письмо автору
 
   для: mrvans   (08.02.2011 в 00:24)
 

Данные дописываются в конец файла или по новой перезаписываются с начала файла?

  Ответить  
 
 автор: mrvans   (08.02.2011 в 00:28)   письмо автору
 
   для: cheops   (08.02.2011 в 00:25)
 

да именно, данные не дописываются
это идет импорт данных в базу
файл полностью меняется, абсолютно все в нем включая кол-во позиций.
но от 1 строки до 10 строки хранятся данные вот они нужны)

  Ответить  
 
 автор: Trianon   (08.02.2011 в 00:32)   письмо автору
 
   для: mrvans   (08.02.2011 в 00:28)
 

если у Вас есть СУБД, строить какие-то самодельные схемы доступа к строкам в 90% бессмысленно.
СУБД то же самое реализует куда эффективнее.

  Ответить  
 
 автор: mrvans   (08.02.2011 в 00:38)   письмо автору
 
   для: Trianon   (08.02.2011 в 00:32)
 

Понимаешь данные поставщика находятся 1 - 10 строках и ни я это придумал.
меня не спрашивают как я должен хранить, мне сказали что там данные по ним ты определишь от какого поставщика приходит товар, это все импортируется с почты потом начинается сам импорт. Поэтому мне для начала нужно узнать данные а потом читать файл целиком.

  Ответить  
 
 автор: cheops   (08.02.2011 в 00:43)   письмо автору
 
   для: mrvans   (08.02.2011 в 00:38)
 

Тогда вам можно о fseek() не задумываться, просто разбираться файл как обычно, читая его строка за строкой.

PS Лучше все-таки для новых вопросов заводить новые темы, а не задавать их в уже существующих. На форуме лестничная структура и с объемными темами неудобно работать.

  Ответить  
 
 автор: Trianon   (08.02.2011 в 00:44)   письмо автору
 
   для: mrvans   (08.02.2011 в 00:38)
 

>Понимаешь данные поставщика находятся 1 - 10 строках

и в чем трудность 10 раз вызвать функцию fgets() ?

>меня не спрашивают как я должен хранить, мне сказали что там данные по ним ты определишь от какого поставщика приходит товар, это все импортируется с почты потом начинается сам импорт. Поэтому мне для начала нужно узнать данные а потом читать файл целиком.

пока что я не понимаю, имеет ли какое-то отношение эта история к проблеме топикстартера или нет.

  Ответить  
 
 автор: mrvans   (08.02.2011 в 00:49)   письмо автору
 
   для: Trianon   (08.02.2011 в 00:44)
 

Я так и сделал но мне кажется это изврат.) Я думал мне тут подскажут другое решение). Спасибо народ. Я так сделал уже пару дней назад)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования