2017-01-30 8 views
1

Мне нужны некоторые файлы и проблема с правильными путями.Неверный путь при включении файлов

Вот моя текущая папка и файл структуры: enter image description here

Так я определил некоторые константы в config.php, как это:

define('APP_ROOT', __DIR__); 
define('VIEW_ROOT', APP_ROOT . '/views'); 
define('TEMPLATE_ROOT', APP_ROOT . '/views/templates'); 
define('BASE_URL', 'http://localhost:8080/site'); 

start.php содержит только соединение с базой данных.

К admin_header.php я добавил эти два файла:

require APP_ROOT . '/config.php'; 
require APP_ROOT . '/start.php'; 

Так что я хочу, чтобы добавить эти два файла в admin_header.php так позже я только требовать файлы заголовков в других местах.

Когда я требую файлы ниже в админ/index.php

require TEMPLATE_ROOT . '/admin_header.php'; 
require VIEW_ROOT . '/admin/index.php'; 
require TEMPLATE_ROOT . '/admin_footer.php'; 

я получаю следующие ошибки:

Notice: Use of undefined constant TEMPLATE_ROOT - assumed 'TEMPLATE_ROOT' in F:\wamp64\www\site\admin\index.php on line 2 

Warning: require(TEMPLATE_ROOT/admin_header.php): failed to open stream: No such file or directory in F:\wamp64\www\site\admin\index.php on line 2 

Fatal error: require(): Failed opening required 'TEMPLATE_ROOT/admin_header.php' (include_path='.;C:\php\pear') in F:\wamp64\www\site\admin\index.php on line 2 
+0

Вы звоните '' config.php' перед index.php'? (Или включая внутри index.php) –

+0

** Chicken & Egg Paradox **: Вы включаете 'require APP_ROOT. '/config.php'; ', но в' config.php' вы впервые определяете константу 'APP_ROOT'. Большая логическая проблема. 'admin/index.php' должен сначала включать' config.php' как 'require '../ app/config.php';' – JustOnUnderMillions

+0

@Antonis: требуется VIEW_ROOT. '/admin/index.php'; это вид главного admin/index.php – PapT

ответ

0

Я думаю, ни один из файлов не очень загружены, так как у вас есть:

require APP_ROOT . '/config.php'; 

и config.php содержит: define('APP_ROOT', __DIR__);

Изменить его, и он должен работать:

require __DIR__ . '/config.php'; 
+0

Спасибо, но это не сработало. – PapT

+0

Вы изменили все свои 'APP_ROOT' на' __DIR__'? – mrbm

+0

Вы имеете в виду в config.php или в admin_header.php или в обоих? – PapT

Смежные вопросы