Функция dirname() — это инструмент для работы с путями к файлам и папкам в PHP. Она возвращает путь к родительской директории файла или директории. Применяется для подключения файлов, организации структуры проекта, автозагрузки, работы с логами и загрузками, когда важно знать расположение файла относительно других.
Для чего применяется dirname()
• Получение пути к папке, где находится файл
• Навигация по структуре проекта (получение родительских папок на разном уровне вложенности)
• Работа с относительными и абсолютными путями
• Упрощение кода (автоматическое получение пути без ручной обработки строк)
Как использовать dirname()
Синтаксис:
dirname($path, $levels = 1)
• $path — строка с путём к файлу или папке
• $levels (опционально, с PHP 7.0) — сколько уровней вверх подняться (по умолчанию 1)
Аргументы dirname()
• $path — строка с путём (относительный или абсолютный)
• $levels (опционально) — целое число, сколько раз подняться вверх по папкам (1 — по умолчанию)
Возвращаемое значение dirname()
• Строка — путь к родительской директории
• Если подняться выше корня, вернёт / (на Unix) или диск (на Windows)
Примеры использования
1. Получить папку файла:
echo dirname("/var/www/html/index.php"); // /var/www/html
2. Получить родительскую папку на 2 уровня выше:
echo dirname("/var/www/html/index.php", 2); // /var/www
3. Использовать с относительным путём:
echo dirname("images/photo.jpg"); // images
4. Получить директорию текущего скрипта:
echo dirname(__FILE__); // Путь к папке, где лежит этот файл
5. Использовать для подключения файла из той же папки:
require dirname(__FILE__) . "/config.php";
6. Если путь без папок:
echo dirname("file.txt"); // .
Важные моменты
• Если путь не содержит папок, результат — точка (.), что означает текущую директорию
• Можно указывать, на сколько уровней подняться вверх (только с PHP 7.0 и выше)
• Работает с абсолютными и относительными путями
• Не проверяет, существует ли путь — просто работает со строкой
Вывод:
dirname() — быстрый способ получить путь к родительской папке файла или директории. Используется для организации структуры проекта, подключения файлов и работы с путями.

