Есть главная папка с проектом в которой находится папка конфига, в конфиге есть php файл, в котором я ищу абсолютный путь к этой папке так:
define('CONFIG_ROOT', str_replace(DIRECTORY_SEPARATOR, '/', getcwd()));
Как я могу используя такой подход найти путь к папке, которая на уровень выше?
спасибо!
На самом деле путь вида /home/www/site/html/../file.php является вполне себе абсолютным. Поскольку строится от корня диска. Соответственно, нет проблемы воспользоваться советом из комментария и добавить '/..' к любому пути, чтобы получить путь к папке на уровень выше. Если к наличию элемента .. в пути есть претензии эстетического плана, то есть функция realpath() которая служит для превращения пути с точками в канонический абсолютный путь.
Но более красивым будет другой вариант, функция dirname(), которая попросту отнимает от текущей строки вида /one/two/three последний элемент. То есть делает ровно то, что требуется - возвращает путь к каталогу на один уровень выше.
Отдельно хочу заметить, что использованный в вопросе код довольно странный, и может привести к непредсказуемым результатам. Так что я бы получал путь к текущему файлу через константу __DIR__, а путь к папке выше, соответственно -
define('CONFIG_ROOT', __DIR__);
define('UPPER_DIR', dirname(CONFIG_ROOT));
каковой код и можно рекомендовать в качестве ответа на вопрос
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости