Я ищу лучший способ обработки относительных путей в PHP. Проблема, с которой я столкнулся, заключалась в том, чтобы включить файл из подкаталога, который также содержал файлы. Использование этого процесса привело к нарушению относительных путей. Чтобы решить эту проблему, нужно было изменить переменную (путь), если файл не существовал. Но по какой-то причине это не устраивает меня, поскольку я думаю, что должен быть лучший способ справиться с этим.
Пример:
ROOT/config/config.php
ROOT/includes/functions.php
ROOT/includes/header.php
<- включает <code>functions.php и config.php
ROOT/index.php
<- включает <code>header.php
ROOT/admin/index.php
<--- также включает <code>header.php (как ../includes/header.php
) и содержит приведенный ниже код для исправления неработающих ссылок
Ниже приведен код, который я использовал, который решил проблему, но я просто проверяя, что это нормально, или есть ли лучший способ обработки относительных путей к файлам.
define('PREV_DIR', '../');
$config_file = './config/config.php';
$functions_file = './includes/functions.php';
if ( !file_exists($config_file)) {
$config_file = PREV_DIR . './config/config.php';
}
if ( !file_exists($functions_file)) {
$functions_file = PREV_DIR . './config/config.php';
}
include $config_file;
include $functions_file;
Хотя я достиг своей цели, я просто хочу двигаться вперед, используя лучшие практики и минимизировать небрежный подход.