Новости | Документация | Download | Webboard | FAQ | Поиск | Контакты


fgets

(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($handle4096);
    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().






  Copyright Apache.ru © 1999-2017, All Rights Reserved Разработка сайта: Inside.ru  
  РЕКЛАМА НА САЙТЕ: |