Вы перезаписываете $counter
каждый раз через l oop, прежде чем добавить к нему. И на последней итерации $one_char
будет FALSE
, поэтому вы устанавливаете $counter = FALSE;
, и преобразование его в целое число возвращает 0
.
Вам также нужно инициализировать $counter
для пустая строка в начале.
Поскольку файл не содержит целое число, вы не должны использовать (int) $counter
. Просто выведите значение $counter
.
Сделайте это следующим образом:
$counter = "";
while ($one_char = fgetc($fp)) {
$counter .= $one_char;
}
echo $counter;
Это выйдет из l oop немедленно, когда он достигнет EOF, он не будет пытаться использовать FALSE
значение из последней итерации.