Функции для работы с именами файлов

Функции для работы с именами файлов

basename

Выделяет имя файла из пути.

Синтаксис:

string basename(string $path)

Выделяет основное имя из пути $path

Примеры:

echo basename("/home/somebody/somefile.txt"); // выводит "somefile.txt"

echo basename("/"); // ничего не выводит

echo basename("/."); // выводит "."

echo basename("/./"); // также выводит "."

Функция basename() не проверяет существование файла. Она просто берет часть строки после самого правого слеша и возвращает ее.

Эта функция правильно обрабатывает как прямые, так и обратные слеши под Windows.

dirname

Выделяет имя каталога.

Синтаксис:

string dirname(string $path)

Возвращает имя каталога, выделенное из пути $path. Функция довольно "разумна" и умеет выделять нетривиальные ситуации, которые описаны в примерах:

echo dirname("/home/file.txt"); // выводит "/home"

echo dirname("../file.txt"); // выводит ".."

echo dirname("/file.txt"); // выводит "/" под Unix,

// "" под Windows

echo dirname("/"); // то же самое

echo dirname("file.txt"); // выводит "."

Если функции dirname() передать просто имя файла, она вернет ".", что означает "текущий каталог".

tempnam

Генерирует уникальное имя файла в определенном каталоге.

Синтаксис:

string tempnam(string $dir, string $prefix)

Генерирует имя файла в каталоге $dir с префиксом $prefix в имени, причем так, чтобы созданный под этим именем в будущем файл был уникален. Для этого к строке $prefix присоединяется некое случайное число.

Например, вызов tempnam("/tmp","temp") может возвратить /tmp/temp3a6b243c.

Если такое имя нужно создать в текущем каталоге, передайте $dir="."

realpath

Преобразует относительный путь в абсолютный.

Синтаксис:

string realpath(string $path)

Преобразует относительный путь $path в абсолютный, т.е. начинающийся от корня.

Пример:

echo realpath("../t.php"); // например, /home/t.php

echo realpath("."); // выводит имя текущего каталога

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