ГЛАВА 7. Файловый ввод/вывод и файловая система
Работа с каталогами
Функции РНР позволяют просматривать содержимое каталогов и перемещаться по ним. В листинге 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()
Функция rewinddir() переводит указатель текущей позиции в начало каталога, открытого функцией opendir().
Синтаксис функции rewinddir():
void rewinddir(int нанипулятор_каталога)
Назад |
Содержание раздела |
Общее Содержание |
Вперед
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|