Rewind установить указатель файла в начало

Содержание

Rewind ���������� ��������� ����� � ������

rewind — ���������� �������� ��������� � ������.

��������

int rewind (int fp)

������������� �������� ��������� ������� ��� fp � ������ ��������� ������.

���� �������� ������, ���������� 0.

�������� ��������� ������ ���� ���������� � ������ ��������� �� ����, ������� �������� �������� fopen() .

����������: ���� �� ������� ���� � ������ �������������/append («a»), ����� ������������ � ���� ������ ������ ����� ��������������, ���������� �� ������� ��������� ���������.

SplFileObject::rewind

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::rewind � ��������� ��������� ��������� � ������ �����

��������

������������ �������� ��������� � ������ �����.

������ ����������

� ���� ������� ��� ����������.

������������ ��������

��� ������� �� ���������� �������� ����� ����������.

������

���� ��������� ������ ����������, ����� ��������� ���������� RuntimeException.

�������

������ #1 ������ ������������� SplFileObject::rewind()

= new SplFileObject ( «misc.txt» );

// ������ �� ����� �����
foreach ( $file as $line )

// ��������� �� ������ ������
$file -> rewind ();

// ����� ������ ������
echo $file -> current ();
?>

�������� �����

  • SplFileObject::current() — �������� ������� ������ �����
  • SplFileObject::key() — �������� ����� ������
  • SplFileObject::seek() — ������� ��������� ��������� �� �������� ������
  • SplFileObject::next() — ������ ��������� ������
  • SplFileObject::valid() — ���������, ��������� �� ����� ����� (EOF)

����������� �� ������

��� ������ ������ �� ����� ��������� ������� ������� ������������ � ���������� �������������� �������. ���������� ��������� �������, � ������� ������� ����� ��������� ���������� ����� ���������.

��������� ��������� ������� ������� � ������ ����� ������������ �������� rewind:

�������� file �������� ������������ �����.

������ ������� ��������� ��������� ����� ��� ������ ������� ftell:

���������� ��������� � ����� ����� ����� �����, ��������� ������� fseek:

������� fseek ������������� ��������� ����� �� ���� �� ��������� offset (�� ������ �����, �� ��� ����� ��� �� ������� �������, � ����������� �� �������� ��������� whence). �������� file ������������ ����� ���������� �����. �������� whence ������ � ������ ����� ������������� �������� offset � ����� ��������� ���� �� ��������� ��������:

  • SEEK_SET (����������� ������� ������ �����);
  • SEEK_CUR (����������� ������� ������������ �������� ��������� ���������);
  • SEEK_END (����������� ������� ������������ ����� �����).

�� ��������� �������� whence ����� �������� SEEK_SET.

������, ��������� �� ��������� � ����� �����, ����� � ������� ������� feof:

���� ��������� ��������� � ����� �����, ������� ���������� true, � ���� ������ ������������ false.

������� feof ������ ������������ ��� ������ �����:

��� ������ ���� ������� ������ ����� ���������� ���������� ����� � �����:

������� �� «����������� �������» � �������������� ��������� ������ ���� �������������, ��� ��-������, �� �� ����� ���������� �������, � ��� ���� ����������� ������� � ������� ��� ���������� ������� �������, ��� «�������», ��-������, «���������� ������» — ��� ��������� ��������� ����, «����-�����», ��� ������������ �������� ������, ��� ���, �� ����� ����, ��� ������� ������� ���������� � ����� � ��� ���� ������� � ����� �������� ����� � �������� ����� ������ �����.

� ������� �� �������� ������� «���������� ������», ��� �� ������������ � ������������, ������� «����» ������������� ������� �������� ������ ���� ���������� �������, �������� ��� ����������� ������� ������� (�������������� ����������������, ��������, ����� ������� ���������� ���������, — �������� ��������� ������ �����), ��� � ���������� ��������� 100% ������� ���������, � �� «����-������» ��� «�����������», «�������� ����������� ������������». ��������� ������� � FAQ �� ������� ������.

rewind

(PHP 4, PHP 5, PHP 7)

rewind � ���������� ������ ��������� ���������

��������

������������� ������ ��������� ��������� handle � ������ ��������� ������.

���� �� ������� ���� � ������ «������ � �����» («a» ��� «a+»), ����� ������, ������� �� �����������, ����� �������� � ����� �����, ���������� �� ��������� �������.

������ ����������

�������� ��������� ������ ���� ��������� � ��������� �� ����, ������� �������� ��� ������ fopen() .

Илон Маск рекомендует:  Что такое код xml_set_external_entity_ref_handler

������������ ��������

���������� TRUE � ������ ��������� ���������� ��� FALSE � ������ ������������� ������.

�������

������ #1 ������ ���������� rewind()

= fopen ( ‘output.txt’ , ‘r+’ );

fwrite ( $handle , ‘������ ������� �����������.’ );
rewind ( $handle );
fwrite ( $handle , ‘��’ );
rewind ( $handle );

echo fread ( $handle , filesize ( ‘output.txt’ ));

����������� ���������� ������� ������� ����� ���-�� ��������:

�������� �����

  • fread() — �������-���������� ������ �����
  • fseek() — ������������� �������� � �������� ���������
  • ftell() — ���������� ������� ������� ��������� ������/������ �����
  • fwrite() — �������-���������� ������ � ����

PHP fwrite(): ������ ���������� rewind() �� �������� ��������� ����� � ������ �����?

� �������� �������� ����� � PHP. � ��������� ���� comment.php, ������� ����� ����� HTML � ��������� �� ���� list.php, ������� ��������� ��� ������.

��� ��, ��� � ���� ���� � list.php:

������ ��� ��� ������� ��� ����������� ���� �� ������, � � ����� �� ���� ��������: ����� ����� � ������� �����. ������� � ������� � ����� ���� rewind($fp); � �������, ��� �� ������ ��������� ����� � ������ ����� txt ����� ����������� �������� ���������� ���������. �� �� ��������, � ���� � ����, �� ��� ��� ��������� ����� �������� �����, � �� �������.

������� ������-������ � �������������� ���������

������ «r+», «w+» � «a+» ��� ��������� ������ � ������ «r+b», «w+b» � «a+b» � ��� �������� ������, �������� � ������� fopen(), ��������� ���������� �� ������ ����� � ������ � ����, �� �������� ���� ��������. ��� ������������� ���� ������� ���� ��������������� ��� ������. ������ ������� ���������� ��� ������ �������� � ������� ���������. ������������� ��������� ��������� ���������� ��� ���������������� ������ � ������ (����� ���������� ��� ������ ���������� ���� ������ ��������� ������������� ������������ �� ������ ���������� ���� ������), ��� � ������������ ������ � ������ � ����� (����� ��������� ������������ ����� � ������ ������� ���� ������).

int ftell(int fp)

���������� ������� �������� ��������� ������/������ �� ������ �����, ���� �������� false, ���� ��� ���������� ������� ��������� ������.

int fseek(int fp, int offset [, int whence])

������������� ��������� � �������� ����������� offset � whence �������. �������� whence ����� ��������� ��������� ��������:

� SEEK_SET � ���������� ��������� � ������� offset �� ������ �����;

� SEEK_CUR � ���������� ��������� � ������� offset �� �������� ���������;

� SEEK_END � ���������� ��������� � ������� offset �� ����� �����.

�� ��������� �������� whence ��������� �������� SEEK_SET. �������� offset ����� ��������� ��� �������������, ��� � ������������� ��������.

� ������ ��������� ���������� ������� ������������ �������� 0. � ������ �������� (� ��� ����� � ��������� ��������� �� ������� �����) � �������� -1.

������ ������� ����������� � ������, �������� �� ���������� HTTP � FTP.

bool rewind(int fp)

������������� ��������� �� ������ �����. � ������ ��������� ���������� ������� ������������ �������� true, � ��������� ������ � �������� false.

������ 4.6.150. ������������� ������������� ������� � ������ � �����:

� ���� ��������� ��������� ������ � ��������� ������ � ����� Variables.txt, ���������� ������ ����� Variables.txt, ���������� � ������� 4.6.142, ����������� � ������ ������������� �������:

// ������� � ������� «D:/PHPData/»

// ����������� ����� Variables.txt � Variables1.txt

// �������� ����� Variables1.txt

// ��� ������ � ������

$modFile = fopen(«D:/PHPData/Variables1.txt», «r+»);

// ��������� ��������� � ������� 6

// ������������ ������ �����

// ��������� � ����� �������� ���������� $b

$b = fread($modFile, 8);

// ��������� � ����� ������� ������� ���������

// ������� ��������� �� 8 ������� �����

fseek($modFile, -8, SEEK_CUR);

// ������� ������ �������� $b

// ������ ������ �������� $b � ����

// ������� ��������� � ������ �����

// ��������� ��������� � ������� 31

// ������������ ������ �����

fseek($modFile, 31, SEEK_SET);

// ��������� � ����� �������� ���������� $e

$e = fread($modFile, 6);

// ������� ������ �������� $e

// ������� ��������� �� 6 ������� �����

fseek($modFile, -6, SEEK_CUR);

// ������ ������ �������� $e � ����

� ���������� ���������� ����� ��������� ��������� ��������� ������:

�� ����� ��, ��� ������? �������������� �������:

������ ���������: ������� — �������, ��������� ������������� ������������. 10530 — | 7319 — ��� ������ ���.

188.64.174.135 � studopedia.ru �� �������� ������� ����������, ������� ���������. �� ������������� ����������� ����������� �������������. ���� ��������� ���������� �����? �������� ��� | �������� �����.

��������� adBlock!
� �������� �������� (F5)

����� �����

Илон Маск рекомендует:  Полезные ссылки для WEB-мастеров

Rewind ���������� ��������� ����� � ������

����� ���������� ������������ �� Visual Studio 2020: ������������ �� Visual Studio 2020.

���������� �������� ��������� �� ������ �����.

���������

stream
��������� �� ���� ���������.

Rewind ������� ���������� ��������� �����, ���������� � stream � ������ �����. ����� rewind ����������

(void) fseek( stream , 0L, SEEK_SET );

������, � ������� �� fseek , rewind ������� ���������� ������ ��� ������, � ����� ��������� ��������� �����. ����� ����, � ������� �� fseek , rewind �� ���������� ��������, �����������, ������� ��������� ���������.

����� �������� ����� ����������, ����������� rewind � ������� stdin , ������� ����� ������ � ���������� �� ���������.

���� ����� NULL ���������� ���������, ���������� ������������� ���������, ��� ������� � ������� �������� ����������. ���� ���������� ����� ���� ����������, ��� ������� ���������� ����������, � �������� errno ��������������� � �������� EINVAL .

�������� �� ���� � ������ ����� ������ ��. � ������� _doserrno, errno, _sys_errlist � _sys_nerr.

������������ ������������ ���������
��������� �����

�������������� �������� � ������������� ��. � ������� ������������� �� ��������.

������������� ������� �� fseek

������ �� ����� �������������� ���������������, �� ���� ����� ���������� ��������� �������� ���������� ��������� ����� ���������� �� ��������� ������������� ������. �������� ��������� ��������� ����� ��� ������ ������� fseek(). ��� ������������ ��� ����������� ��������� ����� � ������������ �������. ������� fseek() ������ � ����������� ���������� ����� �� � stdio.h, ������� � ������ ���������, � ������� ������� ����� ��������������, ������ �������������� ����������: #include .

�������� ������� fseek � ��

Int fseek(FILE *FilePointer, long offset, int pos) — � ������� ���������� ����� ���������:

  • FILE *FilePointer — ��������� �� ������ FILE. �� ������������� ������� ���������� ������� ���� � ������� ������� fopen().
  • Offset � ����� ������ �������� � ������� ����������, �� ������� ���� ������ ���� ������ ���������. ����� ��� ������� ����� (long int). ������������� �������� ��������� �������� �������� ������, � ������������� �����.
  • Pos � ���������� �������, � ������� ����������� ��������. ��� ������� ��������� ����� ����� (int).

�������� pos ���������� ��������� �����, �� ������� ����� ������������� ��������. �� ����� ��������� ��� �������� — 0, 1, 2, ������� ����������� ���������� ���������� SEEK_SET(0), SEEK_CUR(1) � SEEK_END(2):

  1. �������� ��������� pos ����� SEEK_SET � �������� ����� ������������ ������������ ������ �����.
  2. ��� �������� ������ SEEK_CUR �������� ��������� �� ������� ������� �������.
  3. ���� �� ����� �������� SEEK_END, ������, �������� ����� ������������� �� ����� �����.

������� �� fseek ���������� ���� � ������ ��������� ����������� ��������� � ����� ��������� ��������, ���� ��� �� ������ ��������� ��������� ��������, ��������, � ������ ������ ��������� �� ������� �����. ������������ �������� ����� ����� EBADF ��� �������� � ������� ��������� ��������� �����, EINVAL � ������ ������������� �������� ��������� ��� ESPIPE ��� ������ � ��������� offset, ��������, ����� �� ������� �����.

���������������� �� ����� Ruby (80 ���.)

file.seek(-22, IO::SEEK_CUR) # ������� 33.

file.seek(47, IO::SEEK_CUR) # ������� 80.

����� ����� ������ ������������ ����� �����, � ����� ������ �������� ����� ���� ������ �������������:

file.seek(-20, IO::SEEK_END) # �������� ������ �� ����� �����.

���� ��� � ������ ��������� IO::SEEK_SET , �� ��� �������� �� ��������� (����� ������������ ������ �����).

����� tell ���������� ������� �������� ������� � �����, � ���� ���� ������� pos :

pos1 = file.tell # 20

pos2 = file.pos # 70

����� rewind ������������� ��������� ����� � ������. ��� �������� («�������� ���������») �������� �� �������� ������������� ��������� ����.

��� ���������� ������� ������� ���� ����� ����������� � ������ ���������� (��� ������ � ������). ���� ����� ������������ ������ + � ������ ������ �������� ������ (��. ������ 10.1.2).

10.1.5. ������ � ��������� �������

�����-�� ����� ������������ �� ����� � �������� � ������ �������� ������ ������ «b» ��� �������� ����� ��� ���������. (������� ����������������� �����������, ��� ���������� � � ������ ������� UNIX.) ��� �������, ��� ����������� ��� ��� ������������ ���� �������������, �� ������� � ��������� ������� �������� �� ��� ������, ��� ������. ������ � Ruby ����� ��������� �������� ������, � ��� ������ ��������� ����� �� ����� ������� ����������� ��������.

���������� ���������� ��������� ������������ ������ Windows, � ������� �������� ��� ��� ����� �����. �������� ������� �������� ������ �� ��������� �� ���� ��������� ������� � ���, ��� � �������� ������ ����� ������ �� ������������� � ���� ������ �������� ������, � �������������� � ���� ���� «������� ������� — ������� ������». ��� ���� ������ ������� — ������������� ������� control-Z ��� ����� ����� � ��������� ������:

# ������� ���� (� �������� ������).

#�������� �������� �� ������������ 032 (^Z).

# ������ ��� �������� ����.

puts str.size # 11

# ������ ��� ��������� ����.

puts str.size # 5

� ��������� ��������� ��������, ��� �� ��������� Windows ������ �������� ������� �� ������������� � �������� ������:

# ������� ���� �������� ����� ���� ������: ������ 1.

line = file.readline # «������ 1.\n»

puts «# ��������.» # 10 ��������,

line = file.readline # «������ 1.\r\n»

puts «# ��������.» # 11 ��������.

�������, ��� ���������� � ���� ����� binmode ����������� ����� � �������� �����. ����� ������������ ��������� � ��������� ����� ����������.

line = file.readline # «������ 1.\r\n»

puts ��������.» # 11 ��������.

��� ������������� ��������� �������������� ����/����� ������ ��������������� �������� sysread � syswrite . ������ ��������� � �������� ��������� ����� ���������� ������ ������, ������ ��������� ������ � ���������� ����� ���������� ������. (���� �� ������ ������ �� ������ ������� sysread , �� ������� ������ ������ ������������ �� �������. ���������� ����� ���� ��������������.)

bytes = output.syswrite(«��� ����.»)

�������, ��� ����� sysread ���������� ���������� EOFError ��� ������� ������� ���, ����� ��������� ����� ����� (�� �� � ��� ������, ����� ����� ����� ���������� � ���� �������� �������� ������). ��� ������ ���������� ���������� SystemCallError ��� ������������� ������ �����/������.

��� ������ � ��������� ������� ����� ��������� ������� ����� pack �� ������ Array � ����� unpack �� ������ String .

10.1.6. ���������� ������

� ��� ������������ ��������, ������� ������������ ����� �����������, ����� flock ������ File ��������� ��� ������������ ����. ������ ���������� ����� ���� ���� �� �������� File::LOCK_EX , File::LOCK_NB , File::LOCK_SH , File::LOCK_UN ��� �� ����������� � ������� ��������� ���. �������, ��� ������ ���������� �� ����� ������; ���� ����� ������������� ����, �������� ������������� �����.

file.flock(File::LOCK_EX) # �������������� ����������; ������� ������

# ������� �� ����� ���������� � �����.

file.flock(File::LOCK_SH) # ����������� ���������� (������

# �������� ����� ������� �� �� �����).

locked = file.flock(File::LOCK_EX | File::LOCK_NB)

# �������� ������������� ����, �� �� ���������������� ���������, ����

# �� ����������; � ����� ������ ���������� locked ����� ����� false.

��� ��������� ������������ ������ Windows ��� ������� �� �����������.

10.1.7. ������� ����/�����

�� ��� ������� � ���������� �������� �����/������ �� ������ Kernel ; �� �������� �� ��� �������� ����������� �������. � ��� ��������� ������� gets � puts , � ����� print , printf � p (��������� �������� ����� ������� inspect , ����� ����������� ��� � �������� ��� ��� ����).

�� ���� � ������ ������, ������� ������� ��������� ��� �������. ����� putc ������� ���� ������. (������ ����� getc �� ���������� � ������ Kernel �� ����������� ��������, ������ �� ���� � ������ ������� ������ IO ). ���� ���������� �������� ������ String , �� ���������� ������ ������ ������.

putc(?\n) # ������� ������ ����� ������.

putc(«X») # ������� ����� X.

���������� ������: ���� ������������ �����, ���� ��� ������ ���������� ��� �������� �������? ������ � ����, ��� � ����� ���������� Ruby ���������� ��� ���������� ���������, ��������������� ���� ����������� ������� �����/������, � ������� �� �������� � UNIX. ��� STDIN , STDOUT � STDERR . ��� ��� ����� ��� IO .

������� ����� ���������� ���������� $stdout , ������ � ��� ������������ ���� �����, ����������� �������� �� Kernel . ��� ���������������� ��������� STDOUT , ��� ��� ������ ������������ �� ����������� �����, ��� � ��������� �������. � ����� ������ ���������� $stdout ����� ��������� ������ ��������, ���������� �������� IO .

puts «������. » # ��������� �� stdout.

puts «����!» # ��������� � ���� «foofile».

$stdout = STDOUT # �������������� ��������� ��������.

SplFileObject::rewind

SplFileObject::rewind � Перевод файлового указателя в начало файла

Описание

Переводит файловый указатель в начало файла.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Если указатель нельзя перевести, будет выброшено исключение RuntimeException.

Примеры

Пример #1 Пример использования SplFileObject::rewind()

= new SplFileObject ( «misc.txt» );

// проходим по всему файлу
foreach ( $file as $line )

// возвращаемся на первую строку
$file -> rewind ();

// выводим первую строку
echo $file -> current ();
?>

Смотрите также

  • SplFileObject::current() — Получение текущей строки файла
  • SplFileObject::key() — Получение номера строки
  • SplFileObject::seek() — Перевод файлового указателя на заданную строку
  • SplFileObject::next() — Читает следующую строку
  • SplFileObject::valid() — Проверяет, достигнут ли конец файла (EOF)
Илон Маск рекомендует:  Верстка с помощью слоев
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL