fgets

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Описание

fgets(resource$stream, ?int$length = null): string|false

Читает строку из файлового указателя.

Список параметров

stream

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

length

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

Возвращаемые значения

Возвращает строку размером в length - 1 байт, прочитанную из дескриптора файла, на который указывает параметр stream. Если данных для чтения больше нет, то возвращает false.

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

Примеры

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

<?php
$fp
= @fopen("/tmp/inputfile.txt", "r");
if (
$fp) {
while ((
$buffer = fgets($fp, 4096)) !== false) {
echo
$buffer;
}
if (!
feof($fp)) {
echo
"Ошибка: fgets() неожиданно потерпел неудачу\n";
}
fclose($fp);
}
?>

Примечания

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

Замечание:

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

Смотрите также

  • fgetss() - Читает строку из файла и удаляет HTML-теги
  • fread() - Бинарно-безопасное чтение файла
  • fgetc() - Считывает символ из файла
  • stream_get_line() - Получает строку из потокового ресурса до указанного разделителя
  • fopen() - Открывает файл или URL
  • popen() - Открывает файловый указатель процесса
  • fsockopen() - Открывает соединение с интернет-сокетом или доменным сокетом Unix
  • stream_set_timeout() - Установить значение времени ожидания для потока
To Top