php require_once не работает так, как я хочу. Относительный путь

У меня возникают проблемы с назначением относительного пути к require_once. Я уверен, что это просто, что я не вижу …

структура каталогов папок уровня 1: уровень сайта 2: включает уровень 2: класс

поэтому … site / include / global.php <- здесь вызывается функция autoload с сайта / class / db.php

когда я пытаюсь использовать

function__autoload($className) { require_once '../class/'.$className.'.php'; } 

я получил:

Предупреждение: require_once (../ class / db.php) [function.require-once]: не удалось открыть поток: нет такого файла или каталога

Неустранимая ошибка: require_once () [function.require]: Не удалось открыть окно «../class/db.php» (include_path = '.; ./ includes; ./pear').

Что я делаю не так? Это будет нормально работать, если я буду использовать global.php в папке класса, поэтому я предполагаю, что это плохое понимание относительных путей, вызывающих проблему.

благодаря

Related of "php require_once не работает так, как я хочу. Относительный путь"

require(_once) и include(_once) работу относительно пути первого скрипта, то есть сценария, который был фактически вызван .

Если вам нужно что-то require во включенном или требуемом файле и хотите работать относительно этого файла, используйте

 dirname(__FILE__)."/path/to/file"; 

или как @Arkh указывает, начиная с PHP 5.3 вверх

 __DIR__."/path/to/file"; 

Это работает (только apache, я считаю )

 require_once($_SERVER['DOCUMENT_ROOT'] . '/class/' . $classname '.php');