Руководство по PHP
Пред. |  | След.

# fgets

(PHP 3, PHP 4, PHP 5)

fgets -- Читает строку из файла

## Описание

string fgets ( resource handle [, int length] )

Возвращает строку размером в length - 1 байт, прочитанную из дескриптора файла, на который указывает параметр handle. Чтение заканчивается, когда количество прочитанных байтов достигает length - 1, по достижении конца строки (который включается в возвращаемое значение) или по достижении конца файла (что бы ни встретилось первым). Если длина не указана, по умолчанию ее значение равно 1 килобайту или 1024 байтам.

В случае возникновения ошибки функция возвращает `FALSE`.

Наиболее распространенные ошибки:

Программисты, привыкшие к семантике 'C' функции fgets(), должны принимать во внимание разницу в том, каким образом возвращается признак достижения конца файла (EOF).

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen().

Ниже приведен простой пример:

Пример 1. Построчное чтение файла

`<?php $handle = fopen("/tmp/inputfile.txt", "r"); while (!feof($handle)) { $buffer = fgets($handle, 4096); echo $buffer; } fclose($handle); ?>`

> Замечание: Параметр length стал необязательным, начиная с PHP версии 4.2.0. Если этот параметр опущен, длина строки принимается за 1024. С версии PHP 4.3, отсутствие параметра length будет приводить к чтению потока до конца строки. Если длина большинства строк в файле превышает 8 килобайт, наиболее эффективным решением в отношении ресурсов, используемых скриптом, будет указание максимальной длины строки.

> Замечание: Данная функция может корректно обрабатывать двоичные данные, начиная с версии PHP 4.3. Более ранние версии не обладали этой функциональностью.

> Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

См. также fread(), fgetc(), stream_get_line(), fopen(), popen(), fsockopen() и stream_set_timeout().

Пред. | Начало | След.
fgetcsv | Уровень выше | fgetss