(PHP 4, PHP 5)
fgets — Читает строку из файла
$handle
[, int $length
] )Читает строку из файлового указателя.
handle
Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).
length
Чтение заканчивается по достижении length
- 1 байт,
если встретилась новая строка (которая включается в возвращаемый результат)
или конец файла (что встретилось первым). Если длина не указана, чтение
из потока будет продолжаться до тех пор, пока не достигнет
конца строки.
Замечание:
До версии PHP 4.3.0, опущение этого параметра означало, что длина строки будет равна 1024 символам. Если большинство строк в файле больше 8 килобайт, в целях производительности вашего скрипта стоит указать максимальную длину строки.
Возвращает строку размером в length
- 1 байт, прочитанную
из дескриптора файла, на который указывает параметр handle
.
Если данных для чтения больше нет, то возвращает FALSE
.
В случае возникновения ошибки возвращает FALSE
.
Версия | Описание |
---|---|
4.3.0 | fgets() теперь безопасна для обработки бинарных данных |
4.2.0 |
Параметр length стал необязательным
|
Пример #1 Построчное чтение файла
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
?>
Замечание: Если у вас возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.
Замечание:
Программисты, привыкшие к семантике 'C' функции fgets(), должны принимать во внимание разницу в том, каким образом возвращается признак достижения конца файла (EOF).