Ссылаясь на корневой каталог

Прежде чем я начну, этот вопрос, возможно, задавался раньше, но я либо не знаю, что набирать, чтобы найти его конкретно, и это немного более конкретный случай.

Я разрабатываю веб-сайт со многими динамическими связями, некоторые из которых находятся в начале каждого php-файла, где есть строка require("global.php"); который делает то, что указано в имени, среди прочего, такой как файл CSS и все остальное, что находится на корневом уровне. Проблема, однако, при входе в другой каталог, ссылка на этот файл не работает.

Традиционно то, что я сделал (что является абсолютно глупым решением для начинающих) это создать переменную перед вызовом $up который содержал строку '../' который повторяется соответственно в зависимости от того, сколько каталогов находится глубоко в файле от корня. Таким образом, линия появится require($up."global.php");,

Я понял, насколько это глупо, и попытался найти способ обойти это. Один из которых использует переменную $_SERVER['DOCUMENT_ROOT'] распечатать корневой каталог, но причина, по которой это не будет работать на 100%, заключается в том, что а) я занимаюсь разработкой веб-сайта на локальной машине, где «корневой» веб-сайт находится в подкаталоге на сервере, и b) он возвращает весь путь, основанный на расположении на диске, начиная с D: \ и работая таким образом, с которым я не особенно люблю работать, когда речь идет о разработке веб-сайтов, и предпочел бы оставаться в размещенных каталогах веб-сервера, если это возможно.

Итак, основываясь на том, что я объяснил, есть простой способ получить корневое местоположение веб-сайта (независимо от того, находится ли проект в подкатегории или в реальном корне веб-сервера) в короткой строке, которую чрезвычайно легко добавить в начало каждой ссылки на файл в каждом файле php, независимо от его уровня каталога?

Спасибо! <3

0

Решение

Предположим, у вас есть следующий каталог:

 /srv/website/index.php
/srv/website/lib/functions.php

Вы могли бы тогда сделать это:

define("MY_ROOT",     $_SERVER['DOCUMENT_ROOT']);

И используйте его в каждом (включенном) файле относительно:

require (MY_ROOT . "lib/functions.php" );
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector