Добро пожаловать!
Здесь вы можете найти ответ на интересующий вас вопрос в отрасли сайтостроения, познакомится ближе с web технологиями и web стандартами.

Статьи

Файловая система: работа с директориями

basename. Компонент файлового имени в пути

string basename (string path)

Функция возвращает имя файла, выделенного из строки path, в которой передается путь к файлу.

В большинстве систем разделителем директорий в пути служит прямой слеш. В Windows также может использоваться обратный слеш. Пример использования функции:

$path = "/home/httpd/html/index.php3";
$file = basename ($path); // $file is set to "index.php3"

dirname. Исключение имени файла из пути

string dirname (string path)

Функция возвращает строку пути path, из которой исключено имя файла.

В большинстве систем разделителем директорий в пути служит прямой слеш. В Windows также может использоваться обратный слеш. Пример использования функции:

$path = "/etc/passwd";
$file = dirname ($path); // $file is set to "/etc"

realpath. Развертывание сокращений в строке пути

string realpath (string path)

Функция заменяет все символьные ссылки и сокращения пути в строке path, которые были сделаны для улучшения его читабельности, и возвращает полученный абсолютный путь, как показано в следующем примере:

$real_path = realpath ("../../index.php");

getcwd. Текущая директория

string getcwd(void)

Функция возвращает текущую директорию, в которой и проводятся файловые операции.

chdir. Смена текущей директории

int chdir (string directory)

Функция меняет текущую директорию на ту, которая указана в параметре directory. При возникновении ошибки функция возвращает значение FALSE. В ином случае возвращается значение TRUE.

mkdir. Создание директории

int mkdir (string pathname, int mode)

Функция пытается создать новую директорию pathname с атрибутами доступа mode. Если атрибуты указываются в восьмеричной системе, первой цифрой должен быть ноль, как показано в следующем примере:

mkdir ("/path/to/my/dir", 0700);

При возникновении ошибки функция возвращает значение FALSE. В ином случае возвращается значение TRUE.

rmdir. Удаление директории

int rmdir (string dirname)

Функция пытается удалить директорию dirname. Директория должна быть пустой, и ее атрибуты должны позволять выполнить удаление.

При возникновении ошибки функция возвращает значение FALSE. В ином случае возвращается значение TRUE.

diskfreespace. Свободное пространство в директории

float diskfreespace (string directory)

Функция возвращает в байтах свободное пространство в директории directory. Фактически возвращается объем свободного пространства на диске, как показано в следующем примере:

$df = diskfreespace("/"); // свободное место в корневой директории "/"

dir. Класс директории

new dir (string directory)

Функция представляет собой механизм для получения списка файлов директории. При создании объекта на основе класса открывается директория, указанная в параметре directory.

После этого становятся доступны дескриптор директории handle, который может использоваться с функциями readdir(), rewinddir() и closedir(), и строка path, указывающая, какая директория в настоящий момент используется. У класса имеется три метода: read, rewind и close. Пример использования:

<?php
$d 
dir("/etc");
echo 
"Дескриптор: ".$d->handle."<br>\n";
echo 
"Путь: ".$d->path."<br>\n";
while ( 
false !== ( $entry $d->read() ) ) {
  echo 
$entry."<br>\n";
}
$d->close();
?>

opendir. Открытие дескриптора директории

int opendir (string path)

Функция возвращает дескриптор открытой директории path, который затем можно использовать в функциях closedir(), readdir(), rewinddir().

closedir. Закрытие открытого дескриптора директории

void closedir (int dir_handle)

В аргументе dir_handle указывается дескриптор директории, возвращенный функцией opendir().

readdir. Получение имени следующего файла в списке директории

string readdir (int dir_handle)

Функция возвращает имя следующего файла в директории. Файлы возвращаются в виде неупорядоченной последовательности. Пример использования:

<?php
$handle
=opendir('.');
echo 
"Directory handle:".$handle."\n";
echo 
"Files:\n";
while ( ( 
$file readdir($handle) ) !== FALSE ) {
  echo 
$file."\n";
}
closedir($handle); 
?>

Следует отметить, что функция также возвращает значения "." и "..". Если они не требуются, их можно просто исключать:

<?php
$handle
=opendir('.'); 
while ( 
FALSE!==($file readdir($handle)) ) { 
  if (
$file != "." && $file != "..") { 
    echo 
$file."\n"
  }
}
closedir($handle); 
?>

rewinddir. Реинициализация дескриптора директории

void rewinddir (int dir_handle)

После вызова этой функции функция readdir() с аргументом dir_handle будет возвращать имена файлов с самого начала в списке директории.