Считывание файла по n символов

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 12 янв 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    Скажите пожалуйста, как считывать файл по n символов и записывать их в переменную.
    Пример
    Есть test.txt, считывает по 100 символов и пишет в переменную $str, делаем в цикле while, постоянно перезаписывая $str, до тех пор пока не кончится файл.
     
  2. kip

    kip Постоялец

    Регистр.:
    7 янв 2007
    Сообщения:
    145
    Симпатии:
    15
    Попробуйтесь обойтись байтами =)

    $f=fopen("1.txt","a");
    $str=fgets($f,1024);

    Где 1024 - количество байтов
     
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Дело в том, что мне надо по 2000 - 5000 символов.
    Насколько мне известно, у fgets - ограничение либо конец строки, либо 1024 байта.
    Ни первое, ни второе - меня не устраивают :)
     
    Iwashka нравится это.
  4. elcaste

    elcaste

    Регистр.:
    30 ноя 2007
    Сообщения:
    322
    Симпатии:
    175
    C каких пор? Она читает до конца, если второй параметр не указан.
    http://ua.php.net/manual/en/function.fgets.php
     
  5. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    ТС: Используй функцию fread, затем перемещай указатель функцией fseek, затем опять fread и так до конца файла.



    С таких пор:
     
  6. elcaste

    elcaste

    Регистр.:
    30 ноя 2007
    Сообщения:
    322
    Симпатии:
    175
    Ну, русский мануал по PHP я в глаза не видел, а вот что сказано в EN версии:

    Там же указано, что
    актуально только до 4.3.0
     
  7. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    "it will keep reading from the stream until it reaches the end of the line. "
    Это мне тоже не подходит, потому как в 2000 символов может быть несколько строк ;)
     
    Iwashka нравится это.
  8. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
  9. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    А почему все смотрят только в сторону чтения файла?
    Ведь можно бинарно прочитать файл полностью и потом в 2ом цикле выкусывать по 100 байт.
     
  10. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Наверное потому 100 символов != 100 байт, а также потому что считать файл на 100 метров - это жестоко по отношению к ресурсам
     
Статус темы:
Закрыта.