Как кто-то на кривой обучения php, я обнаружил, что лучший способ ссылаться на пути включения - это абсолютное местоположение, а не относительное, используя встроенный суперглобальный $ _SERVER. В моих собственных файлах я использовал это с успехом:
include $_SERVER [ 'DOCUMENT_ROOT' ] . '/path_from_root/file_name.php';
Таким образом, не имеет значения, где находится включенный файл относительно моего вызывающего файла, и мне не нужно беспокоиться о том, чтобы вручную вводить мой полный путь к серверу. (Может быть, очевидно ..) Это будет работать независимо от того, насколько вложенным является вызов include, и если / когда я переместу вызывающий файл, например, в другой каталог.
Вы можете использовать этот метод с include, require и любыми другими функциями, связанными с файлами, которым требуется путь.
На связанной ноте ..
$_SERVER [ 'PHP_SELF' ]
вернет путь (относительно корня) текущего файла. Я тоже немного этим пользуюсь.
$ _ SERVER содержит другую полезную информацию, которую вы можете проверить здесь:
http://php.net/manual/en/reserved.variables.server.php
Извините, если это более старая тема, я новичок здесь.
РЕДАКТИРОВАТЬ: Вы можете сохранить этот 'DOCUMENT_ROOT' в переменной для использования позже, но из недавнего опыта я бы рекомендовал против этого, потому что тогда вам придется беспокоиться о переменной области. Строка включения в том виде, в котором она написана, будет работать каждый раз, независимо от текущей области.