<?php
function getProjectRoot($projectName): string
{
// Нормализуем путь для любой ОС
$currentPath = str_replace('\', '/', getcwd());
$projectPosition = strrpos($currentPath, $projectName);
if ($projectPosition === false) {
throw new RuntimeException("Директория проекта '$projectName' не найдена в пути: $currentPath");
}
return substr($currentPath, 0, $projectPosition + strlen($projectName));
}
// Пример использования:
try {
$projectRoot = getProjectRoot('sdarks.ru');
echo $projectRoot."nr";
// Теперь можно безопасно использовать для include
// include $projectRoot . '/includes/config.php';
} catch (RuntimeException $e) {
die('Ошибка определения корня проекта: ' . $e->getMessage());
}
/var/www/server/data/www/fsb26.ru/
/var/www/server/data/www/databazaconf/
../ ---- таким образом можно выйти на папку вверх
./ ---- от корня
PHP
// физический путь до корневой директории (ROOT можешь назвать по своему)
define('ROOT', str_replace('\', '/', $_SERVER['DOCUMENT_ROOT']) .'/');
require_once из файла /var/www/server/data/www/fsb26.ru/yandex/srv/tresing/trend.php
/var/www/server/data/www/databazaconf/yandex/srv/tresing/trend.php