(PHP 4, PHP 5)
dirname — Возвращает имя родительского каталога из указанного пути
$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'); // возвращает '\'
?>