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

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


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