php.net/manual/ru/function.fgets.php
string fgets ( resource $handle [, int $length ] )
Возвращает строку размером в length - 1 байт, прочитанную из дескриптора файла, на который указывает параметр handle.
Это ещё зачем? Т.е., fgets($handle, 1) вернёт пустую строку? (1 - 1 == 0)?