powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Fseek в FEOF
2 сообщений из 2, страница 1 из 1
Fseek в FEOF
    #38566413
PHP_Starter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Ребят поясните, пожалуйста, почему при выполнении данного кода идет зацикливание:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$f = fopen("D:/Web/FileTest.txt","rt");

fseek($f,0,SEEK_SET);

	While (!FEOF($f))
	{     
		Echo ftell($f).'<br>';
		fseek($f,1,SEEK_CUR);
	}

fclose($f);



Ведь я же передвигаю указатель с помощью функции fseek!
А вот если читать по одному байту, то все прекрасно работает:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$f = fopen("D:/Web/FileTest.txt","rt");

fseek($f,0,SEEK_SET);

	While (!FEOF($f))
	{     
		Echo ftell($f).'<br>';
		fread($f,1);
	}

fclose($f);
...
Рейтинг: 0 / 0
Fseek в FEOF
    #38566445
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
PHP_Starter, потому что мануал немножко врет... feof() возвращает значение флага, который устанавливается при попытке чтения за концом файла. Во втором варианте цикл выполнится на один раз больше, чем количество байт в файле.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Fseek в FEOF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]