integer fseek(resource file, integer offset, integer from)
Для того чтобы изменить внутренний указатель файла PHP, необходимо использовать функцию fseek (листинг 9.23). Он принимает действующий дескриптор файла, созданный функцией fopen, а также аргумент offset, смещение в байтах от­носительно начала файла. В случае ошибки функция fseek возвращает отрицательную единицу (-1); в противном случае - нуль. Необходимо отметить, что эта функция отличается от многих других функций. Необязательный третий аргумент изменяет интерпретацию аргумента offset.
По умолчанию, если эта функция задается как SEEK_SET, функция fseek начинает работу с начала файла. Но можно начать сканирование файла и с конца, указав SEEK_END, однако следует указать отрицательное смещение. Можно задать SEEK_CUR для задания смещения с текущей позиции. В этом случае допустимы как положительные значения смещения, так и отрицательные.
Сканирование за пределами файла не является ошибкой; однако использование функции fseek в файле, открытом с помощью функции fopen, если она использовалась с http:// или ftp://, запрещено.
Узнать, куда указывает указатель, можно с помощью функции ftell.

| Листинг 9.23. Функция fseek_
<?php
// открыть файл
if($myFile = fopen("data.txt", "r"))
{
// перейти на следующую позицию в файле с шагом 32 байта
fseek($myFile, 32);
// вывести остаток файла
fpassthru($myFile);
}
else
{
print(" файл невозможно открыть");
}
?>

array fstat(resource file)
Функция fstat принимает информацию от C-функции об открытом файле и возвращает ее в ассоциативном массиве. Элементами этого массива являются atime, blksize, blocks, ctime, dev, gid, ino, mode, mtime, nlink, rdev, size и uid. Эта функция возвращает ту же информацию, что и функции stat и lstat.
integer ftell(resource file)
Получив правильный дескриптор файла, функция ftell возвращает смещение внутреннего указателя файла PHP. Если необходимо переместить указатель файла, можно воспользоваться функцией fseek. 
boolean ftruncate(resource file, integer size)
Функция ftrunctate усекает файл до заданного размера size, указанного в байтах. Она не меняет текущее положение указателя файла, даже если после усечения он окажется за пределами файла. Для восстановления правильного размещения указателя можно прибегнуть к помощи функции fseek.
integer fwrite(resource file, string data, integer length)
Функция fwrite (листинг 9.24) записывает в файл строку. Аргумент file должен быть целым числом, возвращаемым функцией fopen, fsockopen или popen. Аргумент length является необязательным и устанавливает максимальное количество записываемых байтов. При его наличии действие "чудесных" кавычек приостанавливается. Это значит, что обратные косые черты, вставленные в строки PHP для отключения кавычек, не будут интерпретироваться как управляющие символы.

| Листинг 9.24. Функция fwrite_
<?php
// открыть файл для записи $myFile = fopen("data.txt","w");
// убедиться в том, что открытие прошло успешно
if(!($myFile))
{
print("файл невозможно открыть"); exit;
}
for($index=0; $index<10; $index++)
{
// записать строку в файл fwrite($myFile, "line $indexn");
}
// закрыть файл fclose($myFile);
?>

array get_meta_tags(string filename, boolean use_include_path)
Функция get_meta_tags (листинг 9.25) открывает файл и сканирует его на наличие мета-тегов HTML. Эта функция предполагает, что это обычный HTML-файл с обычными разрывами строк. Функция возвращает массив, проиндексированный по атрибуту name возвращаемого мета-тега. Если атрибут name содержит в идентификаторе любой недопустимый символ, он замещается символами подчеркивания. Необязательный аргумент use_include_path используется для поиска файла функцией get_meta_tags в каталоге include вместо текущего каталога. Каталог include задается в каталоге php.ini и обычно используется функцией include. Подобно многим другим файловым функциям, функция get_meta_tags позволяет указывать вместо пути в локальной файловой системе URL. 
j Листинг 9.25. Функция get_meta_tags_
<html> <head>
<title>get_meta_tags</title>
<meta name="description" content="Демонстрация get_meta_tags.">
<meta name="keywords" content="PHP, Основы программирования на PHP, Леон Аткинсон">
<meta name="Имя с пробелом" content="Смотрите, как изменяется имя">
</head>
<body>
<?php
$tag = get_meta_tags($_SERVER["PATH_TRANSLATED"]);
//Вывести все элементы возвращаемого массива
print("<pre>");
print_r($tag);
print("</pre>n");
?>
</body> </html>

array glob(string pattern, integer flags)
Функция glob применяет шаблон к текущему рабочему каталогу и возвращает массив соответствующих файлов. Шаблон может содержать обычные групповые символы оболочки, такие как * и ?. Флаги, передаваемые с необязательным вторым аргументом, содержат определенные аспекты соответствия шаблону. На момент написания этой книги их полная реализация не была закончена.