Считывание файла, в цикле

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

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

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Здравствуйте.
    Закрыли тему, но там не ответили на 2й вопрос)
    Как считывать файл посредством fread & fseek в цикле, до тех пор пока не будет достигнут конец файла.
     
    Iwashka нравится это.
  2. nickspring

    nickspring Писатель

    Регистр.:
    21 авг 2007
    Сообщения:
    3
    Симпатии:
    1
    Код:
    <?php
    $handle = fopen("http://www.example.com/", "rb");
    $contents = '';
    while (!feof($handle)) {
      $contents .= fread($handle, 8192);
    }
    fclose($handle);
    ?> 
    
    А зачем fseek непонятно :)
     
  3. LinuxFan

    LinuxFan Создатель

    Регистр.:
    13 янв 2009
    Сообщения:
    11
    Симпатии:
    2
    nickspring, fseek для того, перемещаться по файлу. Он указывает позицию для чтения функцией fread.
    Использование:
    PHP:
    fseek$fp);
    Вообще, если речь зашла о чтении файла, то прочесть его можно ещё вот так:
    PHP:
    $arr = array();
    $arr file'file-or-url.txt' );
    Преимущество данного метода в том, что отпадает необходимость цикла для чтения файла, за вас это делает фукнция file.
    А минус в том, что, если читать вам надо не весь файл, то функция file прочитает всё равно его целиком :)
     
  4. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    $file=fopen("bio.txt", "r");
    $budy = fread($file, filesize("bio.txt"));
    fclose($file);
    Считываем весь фаил целеком в переменную $budy

    $file=file('tmp_activate.txt');
    Считываем весь фаил целеком в масив $file где каждый ключ содержет 1 строку из файла.

    $file=fopen("acc.txt", "r");
    $budy = fread($file, 100);
    fclose($file);
    Считываем первые 100 символов из файла в переменную $budy
     
Статус темы:
Закрыта.