Есть главная папка с проектом в которой находится папка конфига, в конфиге есть 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));
каковой код и можно рекомендовать в качестве ответа на вопрос
Виртуальный выделенный сервер (VDS) становится отличным выбором
в парсере есть функция file_get_html, если в нее передать адрес
Нужно получить выборку данных из гугл таблицы по дате, все даты расположены в порядке убывания в одной колонке
Мне достались исходники небольшого проекта из нескольких файловПри открытии его в visual studio еще до начала компиляции в редакторе кода в каждом...
У меня есть строка - html код, который нужно распарсить с помощью регулярных выражений regexМне нужно записать в вектор std::vector все URL'ы на странице,...