2010-04-22 6 views
1
<?php 

//this is intializer.php 
defined('DS')? null :define('DS',DIRECTORY_SEPARATOR); 

defined('SITE_ROOT')? null : 
     define('SITE_ROOT',DS.'C:',DS.'wamp',DS.'www',DS.'photo_gallery'); 

defined('LIB_PATH')?null:define('LIB_PATH',SITE_ROOT.DS.'includes'); 

require_once(LIB_PATH.DS.'datainfo.php'); 
require_once(LIB_PATH.DS.'function.php'); 
require_once(LIB_PATH.DS.'session.php'); 
require_once(LIB_PATH.DS.'database.php'); 
require_once(LIB_PATH.DS.'user.php'); 


//this is other file where i call php file 

// ERROR Use of undefined constant LIB_PATH - assumed 'LIB_PATH' in  
//C:\wamp\www\photo_gallery\includes\database.php on 

//Notice: Use of undefined constant DS - assumed 'DS' in 
//C:\wamp\www\photo_gallery\includes\database.php on 

include(LIB_PATH.DS."database.php") 

?> 

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

ответ

2

Это не имеет прямого отношения к вашему вопросу, но

define('SITE_ROOT',DS.'C:',DS.'wamp',DS.'www',DS.'photo_gallery'); 

, вероятно, следует

define('SITE_ROOT',DS.'C:'.DS.'wamp'.DS.'www'.DS.'photo_gallery'); 
+0

я очень благодарен мне спасибо повторную корректировку любым способом DEFINE (​​'SITE_ROOT', 'C:'. DS.'wamp'.DS.'www'.DS.'photo_gallery»); Я удалил один DS.'c: 'и запишу до (' site_root ',' C: ') – Vicky

2

Вы должны сделать это:

defined('SITE_ROOT')? null :define('SITE_ROOT','C:'.DS.'wamp'.DS.'www',DS.'photo_gallery');

Вы дон Не нужно DIRECTORY_SEPARATOR до начала вашего сайта.

Вы могли бы быть лучше с этим:

defined('SITE_ROOT')? null : define('SITE_ROOT', dirname(__FILE__));

Пока intializer.php находится в корневом каталоге

+0

Это тоже один из способов .. действительно, правда ... – Vicky

1

Вы должны добавить эту строку в database.php

require_once("../../includes/initialise.php"); 

и удалены

require_once (LIB_PATH.DS."config.php"); 

потому что постоянные LIB_PATH и DS не являются unles вы подъезд добавить следующий код

require_once (LIB_PATH.DS."config.php"); 
1

Ok, так что я думаю, что вы ищете является фактической системы путь к файлу. Для того, чтобы получить, что вы можете повторить

dirname(__FILE__); 

Вы можете сделать это в любой файл, который вы хотите, и он будет отображать системный файл путь относительно файла. Для меня это что-то вроде этого:

/home2/myusername/public_html/project_name/includes/config.php 

так что если вы заинтересованы в папке «project_name» вы должны иметь что-то вроде этого:

defined("SITE_ROOT") ? null : define("SITE_ROOT", DS . "home2" . DS . "myusername" . DS . "public_html" . DS . "project_name"); 

Тогда, если вы ищете «включает» папку который будет вашей библиотекой, вы должны иметь примерно следующее:

defined("LIB_PATH") ? null : define("LIB_PATH", SITE_ROOT . DS . "includes"); 

Надеюсь, это поможет. У меня была такая же проблема, и это сработало для меня.

Приветствия, Михай Попа

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