Да, это потому, что файл уже пуст, но PHP не знает его, пока не выполнит метод fgets()
.
Во избежание PHP читает первую пустую строку, Вы должны проверить, что fgets
не false
. Для этого нужно сделать что-то вроде:
if ($file = fopen("file.txt", "r")) {
while (($line = fgets($file)) !== false) {
echo "----" , $line , "----";
}
fclose($file);
}