integer linkinfo(string filename)
Функция linkinfo вызывает С-функцию lstat для заданного аргументом filename файла и возвращает поле st_dev, созданное функцией lstat. Это можно использовать для проверки существования ссылки. В случае ошибки эта функция возвращает значение FALSE. Подробнее о функции lstat можно узнать на справочной man-странице или в справочном файле по Microsoft Visual С++.
array lstat(string filename)
Функция lstat (листинг 9.27) выполняет С-функцию stat и возвращает массив. Массив содержит 13 элементов, пронумерованных начиная с нуля. Когда аргумент filename указывает на символическую ссылку, массив отражает эту ссылку, а не сам файл, на который указывает эта ссылка. При вызове по символической ссылке функция stat всегда возвращает информацию о файле. В табл. 9.6 описывается содержимое массива, который содержит две копии данных. На одну копию ссылка делается с помощью целого числа, на другую - с помощью имени.
Операционная система
Операционная система
Листинг 9.27. Функция lstat

<?php
$statInfo = lstat("data.txt"); if(eregi("windows", PHP_OS))
{
// распечатать полезную информацию для ОС Windows printf("Устрoйствo: %c <br>n", ($statInfo[0]+65)); printf("Режим: %o <br>n", $statInfo[2]); print(" Ссылки: $statInfo[3] <br>n"); print("Размер: $statInfo[7] bytes<br>n"); printf(" Время последнего доступа: %s <br>n", date("F d, Y", $statInfo[8]));
printf(" Время последней модификации: %s <br>n", date("F d, Y", $statInfo[9])); printf(" Создан: %s <br>n", date("F d, Y", $statInfo[10]));
}
else
{
// распечатать полезную информацию для ОС Unix print(" Устройство: $statInfo[0] <br>n"); print("INode: $statInfo[1] <br>n"); printf(" Режим: %o <br>n", $statInfo[2]); print(" Ссылки: $statInfo[3] <br>n");
print("Идентификатор пользователя (UID): $statInfo[4] <br>n");
print(" Идентификатор группы (GID): $statInfo[5] <br>n"); print("Тип устройства: $statInfo[6] <br>n"); print(" Размер: $statInfo[7] bytes<br>n"); printf(" Время последнего доступа: %s <br>n", 
date("F d, Y", $statInfo[8]));
printf(" Время последней модификации: %s <br>n",
date("F d, Y", $statInfo[9]));
printf(" Время последнего изменения: %s <br>n",
date("F d, Y", $statInfo[10]));
print(" Размер блока: $statInfo[11] <br>n"); print("Блoкoв: $statInfo[12] <br>n");
}
?>

string md5_file(string filename)
Функция md5_file возвращает исходный файл, закодированный с использованием MD5. Код MD5 представляет собой 128-битовые числа, представленные в виде текстовых строк, идентифицирующих файлы.
boolean mkdir(string directory, integer mode)
Функция mkdir (листинг 9.28) создает новый каталог с заданным именем. Разрешения присваиваются на основе аргумента mode, который работает в соответствии с командой chmod. Под управлением Windows аргумент mode игнорируется. Для удаления каталога используется функция rmdir.

| Листинг 9.28. Функция mkdir_
<?php
if(mkdir("myDir", 0777))
{
print(" каталог создан");
}
else
{
print(" невозможно создать каталог");
}
?>

boolean move_uploaded_file(string filename, string destination)
Функция move_uploaded_file совмещает возможности функций is_uploaded_file и rename. Если указанный файл загружен, он будет переименован в результирующий файл. Если файл не загружен или переименование завершилось неуспешно, функция возвращает значение FALSE.
array parse_ini_file(string filename, boolean process_sections)
Функция parse_ini_file выполняет синтаксический анализ текстового файла, формат которого соответствует формату, используемому конфигурационными файлами, имеющими расширение .ini. За указанными установками следуют значения, разделенные знаком равенства (=). Значения могут содержать специальные символы, которые должны браться в кавычки. Комментарии, которые игнорируются синтаксическим анализатором, начинаются точкой с запятой (;). Существует возможность разбить установки конфигурационных настроек на разделы; названия этих разделов заключаются в квадратные скобки. В листинге 9.29 показан пример конфигурационного файла, а в листинге 9.30 - пример синтаксического анализа содержимого из листинга 9.29. На рис. 9.1 показан результат работы функции. При отсутствии process_sections разделы учитываться не будут. При задании его значения равным TRUE, функция возвращает двухмерный массив, разделив установки на подмассивы с именами разделов. 

Листинг 9.29. Пример конфигурационного файла

; Пример конфигурационного файла: test.ini
; Для обозначения комментария используется точка с запятой.
[User Interface] text = "#333333" highlight = "#FF3333"
[Database] username = php password = secret dbname = ft3
Листинг 9.30. Функция parse_ini_file
<?php
print_r(parse_ini_file('test.ini'));
print("n");
print_r(parse_ini_file('test.ini', TRUE));
?>
Операционная система
integer opendir(string directory)
Функция opendir (листинг 9.31) принимает в качестве аргумента имя каталога и возвращает дескриптор каталога. Этот дескриптор могут использовать в своей работе функции readdir, rewinddir и closedir. Описанная выше функция dir является альтернативой этой группе функций.

j Листинг 9.31. Функция opendir_
<table border="1"> <tr>
<th>Filename</th>
<th>Size</th>
</tr>
<?php
// открыть каталог
$myDirectory = opendir(".");
// просмотреть все элементы
while($entryName = readdir($myDirectory))
{
print("<tr>");
print("<td>$entryName</td>"); print("<td align="right">"); print(filesize($entryName));
print("</td>");
print("</tr>n");
}
// закрыть каталог closedir($myDirectory);
?>
</table>