Старый вопрос, я знаю, но так как он дал мне идею, как решить это для себя, я просто добавлю свое решение здесь.Я хотел определить константу (ROOTPATH) с помощью $ _SERVER ['DOCUMENT_ROOT'] и убедиться, что она имеет косую черту (DIRECTORY_SEPARATOR).
define('ROOTPATH', (ctype_alnum(substr($_SERVER['DOCUMENT_ROOT'], -1)) ? $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR : $_SERVER['DOCUMENT_ROOT']));
Предполагается, что последний символ имени папки является буквенно-цифровым (Я не мог вспомнить, чтобы увидеть много имен папок, которые заканчиваются специальными символами).Если вы хотите убедиться, что нет косой черты, вы можете использовать что-то вроде этого:
define('ROOTPATH', (!ctype_alnum(substr($_SERVER['DOCUMENT_ROOT'], -1)) ? substr($_SERVER['DOCUMENT_ROOT'], 0, -1) : $_SERVER['DOCUMENT_ROOT']));
Peace, Mo