Положение указателя текущей позиции

feof
Указатель конца файла.

Синтаксис:
int feof(int $f)

Возвращает true, если достигнут конец файла (то есть если указатель файла установлен за концом файла).

Пример: $f=fopen("myfile.txt","r");while(!feof($f)){ $str=fgets($f); // Обрабатываем очередную строку $str }fclose($f);

fseek
Устанавливает указатель файла на определенную позицию.

Синтаксис:
int fseek(int $f, int $offset, int $whence=SEEK_SET)

Устанавливает указатель файла на байт со смещением $offset (от начала файла, от его конца или от текущей позиции, в зависимости от параметра $whence). Это может и не сработать, если дескриптор $f ассоциирован не с обычным локальным файлом, а с соединением HTTP или FTP.

Параметр $whence задает с какого места отсчитывается смещение $offset. В PHP для этого существуют три константы, равные, соответственно, 0, 1 и 2:

SEEK_SET

- устанавливает позицию начиная с начала файла;

SEEK_CUR

- отсчитывает позицию относительно текущей позиции;

SEEK_END

- отсчитывает позицию относительно конца файла;

В случае использования последних двух констант параметр $offset вполне может быть отрицательным (а при применении SEEK_END он будет отрицательным наверняка). В случае успешного завершения эта функция возвращает 0, а в случае неудачи -1.

ftell
Возвращает положение указателя файла.

Синтаксис:
int ftell(int $f)

 

 







Функции для определения типов файлов

file_exists
Проверяет существование вызываемого файла.

Синтаксис:
bool file_exists(string filename)

Возвращает true, если файл с именем filename существует на момент вызова. Следует использовать эту функцию с осторожностью. Например, следующий код никуда не годится с точки зрения безопасности:

$fname="/etc/passwd";if(!file_exists($fname)) $f=fopen($fname,"w");else $f=fopen($fname,"r");

Дело в том, что между вызовом file_exists() и открытием файла в режиме w проходит некоторое время, в течение которого другой процесс может вклиниться и подменить используемый нами файл. Данная проблема выходит на передний план при написании сценария счетчика.

Функция не работает с удаленными файлами, файл должен находиться в доступной для сервера файловой системе.
Результаты функции кэшируются, см. функцию clearstatcache().

filetype
Возвращает тип файла.

Синтаксис:
string filetype(string filename)

Возвращает строку, которая описывает тип файла с именем filename. Если такого файла не существует, возвращает false.
После вызова строка будет содержать одно из следующих значений:

file - обычный файл; dir - каталог; link - символическая ссылка; fifo - fifo-канал; block - блочно-ориентированное устройство; char - символьно-ориентированное устройство; unknown - неизвестный тип файла;

is_file
Проверка существования обычного файла.

Синтаксис:
bool is_file(string filename)

Возвращает true, если filename - обычный файл.

is_dir
Проверка существования каталога.

Синтаксис:
bool is_dir(string filename)

Возвращает true, если каталог filename существует.

is_link
Проверка существования символической ссылки на файл.

Синтаксис:
bool is_link(string filename)

Возвращает true, если filename - символическая ссылка.

Функция не работает под Windows.

is_readable
Проверка существования файла, доступного для чтения.

Синтаксис:
bool is_readable(string filename)

Возвращает true, если файл может быть открыт для чтения.
Обычно PHP осуществляет доступ к файлу с привелегиями пользователя, запускающего web-сервер (часто "nobody"). Соображения безопасности должны приниматься в расчет.

is_writeable
Проверка существования файла, доступного для записи.

Синтаксис:
bool is_writeable(string filename)

Возвращает true, если в файл можно писать.
Обычно PHP осуществляет доступ к файлу с привелегиями пользователя, запускающего web-сервер (часто "nobody"). Соображения безопасности должны приниматься в расчет.

is_executable
Проверка существования запускаемого файла.

Синтаксис:
bool is_executable(string filename)

Возвращает true, если файл filename - исполняемый.

is_uploaded_file
Проверка существования файла, загруженного методом HTTP POST.

Синтаксис:
bool is_uploaded_file(string filename)

Возвращает true, если файл с именем filename был загружен на сервер посредством HTTP POST.
Часто это полезно, чтобы убедиться, что пользователи из злого умысла не пытались заставить сценарий работать с теми файлами, с которыми им работать не следует, например: /etc/passwd.

 

























Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: