2013-04-10 2 views
0

Мой конфигурационный файл выглядит следующим образом:файл config.php не работает должным образом с имя папки (__ FILE__)

<?php 
define('ROOT_DIR', dirname(_FILE_)); 
?> 

тогда мой HTML:

<?php 
require_once ('../../../../config.php'); // back to app root 
?> 

<?php 
$pageTitle = 'title'; 
require_once(ROOT_DIR.'includes/content.php'); 
?> 

Я знаю, что мой конфигурационный файл загружается, потому что я могу см. мои сообщения конфигурации при просмотре источника.

Но в противном случае я просто получаю пустую страницу. Кто-нибудь скажет мне, что я делаю неправильно?

EDIT:

дает отчетов об ошибках

Warning: require_once(./includes/content.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/MAMP/html/BLX2012/prototypes/19/demo.16/events/2013/PIC/LasVegas/index.php on line 10 

Fatal error: require_once() [function.require]: Failed opening required './includes/content.php' (include_path='.:/Applications/MAMP/bin/php/php5.3.6/lib/php') in /Applications/MAMP/html/BLX2012/prototypes/19/demo.16/events/2013/PIC/LasVegas/index.php on line 10 

[Жаль, что я хочу выше были более readble]

ответ

2

_FILE_ должно быть __FILE__ (2 подчеркивания на каждой стороне).

Итак, ваша константа ROOT_DIR установлена ​​неправильно, а PHP не знает, где искать.

+0

Вау, хорошо, что я скучаю. Будучи новичком, понятия не имел, что с каждой стороны было [2]. ФИКСИРОВАН, спасибо! И thnx парни за то, что они мне очень понравились! ':]' – conceive

+0

@conceive Нет проблем, рад быть полезным :) Много раз я совершил такую ​​ошибку, даже после того, как программировал PHP профессионально в течение 7 лет! – IMSoP

2

Вы пропускаете / в: require_once(ROOT_DIR.'includes/content.php');

Изменить это: require_once(ROOT_DIR.'/includes/content.php');

+0

Действительно? Я просто пробовал, что все еще не работает. Я никогда не использовал ведущий '/' перед использованием 'include()'. Что мне не хватает? – conceive

+0

любые ошибки при наличии сообщений об ошибках на E_ALL? – Populus

+0

Нет, не знал, как это проверить ..': ['Проверь это сейчас ... – conceive

2

В начале вашего скрипта, добавьте это заявление, чтобы увидеть, если вы получаете какие-либо ошибки:

ini_set('error_reporting', E_ALL); 

Возможно ли, что content.php включает в себя файл в неправильном пути?

+0

также необходимо 'ini_set ('display_errors', 1);' – Populus

+0

@ Simon- нет путей, которые кажутся правильными. Да, я использовал 'ini_set ('display_errors', 1); error_reporting (E_ALL); ' – conceive

+0

В нем четко сказано, что файл (' content.php') не существует, путь для этого правильный? – Populus

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