2014-12-26 49 views
0
/htdocs 
    /classes 
     DB.class.php 
     USER.class.php 
    /core 
     init.php 
    /ajax 
     data.php 
    /require 
    .... 
    .... 

    index.php 

裏面init.php我有這個功能。spl_autoload_register在不同目錄中

spl_autoload_register(function($class) { 
      require_once 'classes/' . $class . '.class.php'; 
    }); 

的問題是,我有一個需要一些其他類(數據庫類等),並用於在某些文件夾ajax內,在require文件夾中的一些文件用戶類。如果我在USER類中修復init.php的require路徑以將其用於require文件夾中的文件,則它不適用於ajax文件夾中的文件,反之亦然。 有誰知道如何解決這個問題?

warning: require_once(../core/init.php): failed to open stream: no such file or directory in c:\apache24\htdocs\classes\user.class.php on line 3 

這是USER

Line 3: require_once 'core/init.php'; 
+0

'require_once '/core/init.php';'? –

+0

它不起作用。我曾考慮過使用絕對路徑。 –

回答

1

你可以定義多個包含路徑

define('DS', DIRECTORY_SEPARATOR); 
define('PS', PATH_SEPARATOR); 
define('BP', dirname(__FILE__)); 

$paths = array(
    BP . DS . 'classes', 
    BP . DS . 'core', 
    BP . DS . 'ajax', 
    get_include_path() 
); 

$includePaths = implode(PS, $paths); 
set_include_path($includePaths);