PHP 4 на практике

       

Работа с каталогами


Функции РНР позволяют просматривать содержимое каталогов и перемещаться по ним. В листинге 7.8 изображена типичная структура каталогов в системе UNIX.

Листинг 7.8.

Типичная структура каталогов

drwxr-xr-x 4 root wheel 512 Aug 13 13:51 book/

drwxr-xr-x 4 root wheel 512 Aug 13 13:51 code/

-rw-r--r-- 1 root wheel 115 Aug 4 09:53 index.html

drwxr-xr-x 7 root wheel 1024 Jun 29 13:03 manual/

-rw-r--r-- 1 root wheel 19 Aug 12 12:15 test.php

dirname( )

Функция dirname( ) дополняет basename( ) — она извлекает путь из полного имени файла. Синтаксис функции dirname( ):

string dirname (string путь)

Пример использования dirname( ) для извлечения пути из полного имени:

$path = "/usr/locla/phppower/htdocs/index.php";

$file = dirname($path); // $file = "usr/local/phppower/htdocs"



Функция dirname( ) иногда используется в сочетании с переменной $SCRIPT_FILENAME для получения полного пути к сценарию, из которого выполняется команда:

$dir - dirname($SCRIPT_FILENAME);

is_dir( )

Функция is_dir( ) проверяет, является ли файл с заданным именем каталогом:

bool is_dir (string имя_файла)

В следующем примере используется структура каталогов из листинга 7.8:

$isdir = is_dir("index.html"); // Возвращает FALSE

$isdir = is_dir("book"); // Возвращает TRUE

mkdir()

Функция mkdir( ) делает то же, что и одноименная команда UNIX, — она создает новый каталог. Синтаксис функции mkdir( ):

int mkdir (string путь, int режим)

Параметр путь определяет путь для создания нового каталога. Не забудьте завершить параметр именем нового каталога! Параметр режим определяет разрешения, назначаемые созданному каталогу.

opendir( )

Подобно тому как функция fopen( ) открывает манипулятор для работы с заданным файлом, функция opendir( ) открывает манипулятор для работы с каталогом. Синтаксис функции opendir( ):

int opendir (string путь)

closedir( )

Функция closedir( ) закрывает манипулятор каталога, переданный в качестве параметра. Синтаксис функции closedir( ):


void closedir(int манипулятор_каталога)

readdir( )

Функция readdir( ) возвращает очередной элемент заданного каталога. Синтаксис:

string readdir(int манипулятор_каталога)

С помощью этой функции можно легко вывести список всех файлов и подкаталогов, находящихся в текущем каталоге:

$dh = opendir(' . );

while ($file = readdir($dh)) :

print "$file <br>"; endwhile;

closedir($dh);

chdir( )

Функция chdir( ) работает так же, как команда UNIX cd, — она осуществляет переход в каталог, заданный параметром. Синтаксис функции chdir( ):

int chdir (string каталог)

В следующем примере мы переходим в подкаталог book/ и выводим его содержимое:

$newdir = "book";

chdir($newdir) or die("Could not change to directory ($newdir)"); $dh = opendir(' . ');

print "Files:";

while ($file = readdir($dh)) ;

print "$file <br>";

endwhile;

closedir($dh);

rewinddir( )

Функция rewlnddir( ) переводит указатель текущей позиции в начало каталога, открытого функцией opendir( ). Синтаксис функции rewinddir( ):

void rewinddir (int нанипулятор_каталога)


Содержание раздела