Файловая система
PHP Manual

dirname

(PHP 4, PHP 5)

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

Описание

string dirname ( string $path )

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

Список параметров

path

Путь.

На платформах Windows в качестве разделителей имен директорий используются оба слэша (прямой / и обратный \). В других операционных системах разделителем служит прямой слэш (/).

Возвращаемые значения

Возвращает путь к родительской директории. Если в параметре path не содержится слэшей, будет возвращена точка ('.'), обозначающая текущую директорию. В другом случае будет возвращен path без последнего компонента /component.

Список изменений

Версия Описание
5.0.0 dirname() теперь безопасна для обработки бинарных данных.
4.0.3 dirname() теперь совместима со стандартом POSIX.

Примеры

Пример #1 Пример использования функции dirname()

<?php
echo "1) " dirname("/etc/passwd") . PHP_EOL// 1) /etc
echo "2) " dirname("/etc/") . PHP_EOL// 2) / (или \ на Windows)
echo "3) " dirname("."); // 3) .
?>

Примечания

Замечание:

Функция dirname() наивно оперирует исключительно исходной строкой и не учитывает реальную файловую систему или компоненты пути типа "..".

Замечание:

dirname() учитывает настройки локали, поэтому для корректной обработки пути с многобайтными символами должна быть установлена соответствующая локаль с помощью функции setlocale().

Замечание:

Начиная с версии PHP 4.3.0, функция dirname() вернет слэш или точку там, где ранее возвращалась бы пустая строка.

Посмотрите следующий пример, иллюстрирующий эти изменения:

<?php

//до PHP 4.3.0
dirname('c:/'); // возвращала '.'

//после PHP 4.3.0
dirname('c:/x'); // возвращает 'c:\'
dirname('c:/Temp/x'); // возвращает 'c:/Temp'
dirname('/x'); // возвращает '\'

?>

Смотрите также


Файловая система
PHP Manual