Файловые указатели в языке PHP
При работе с файлами нужно обязательно учитывать положение его указателя. Для этого в РНР существует несколько функций. Разберем некоторые из них.
Для установки указателя в начало файла используется функция rewind(), которая принимает файловый дескриптор и возвращает булевское значение (TRUE - удачное выполнение, иначе - FALSE).
Если требуется перенести указатель на конкретное место в файле, стоит использовать функцию fseek(). В качестве входных параметров выступают дескриптор, файл а и целочисленное значение, определяющее число байт или символов от указанной точки. Функция задается еще одним необязательным параметром:
- SEEK_SET (или 0) - от начала файла (по умолчанию);
- SEEK_CUR (или 1) - от текущей позиции;
- SEEK_END (или 2) - от конца файла.
Стоит обратить внимание, что в случае неудачи функция возвращает - 1 (в отличие от многих других функций), при успешном завершении - 0.
Чтобы узнать текущую позицию файлового указателя, нужно использовать функцию ftell(). Ей передается дескриптор файла, а она возвращает целочисленное значение, которое определяет положение указателя относительно начала файла.
На практике часто используется функция feof(), с помощью которой определяется положение указателя на конце файла.