开发者

Relative and Absolute Path

I want to reference a file that is in my root director开发者_Go百科y , The problem is that this file is used by several other PHP scripts that can be 2 or three paths deep.

I can reference this by

'../database_sql/dbconnect.php' ; 1 deep 
'../../database_sql/dbconnect.php' ; 2 deep 
'../../../database_sql/dbconnect.php' ; 3 deep 

My question is how can I reference this root folder file without knowing how deep the path is ie: not using ../../../ etc


Two solutions:

The first is to define a constant whose value is the root directory:

// in a file in a your root directory:
define('ROOT', dirname(__DIR__));

// in other files:
include ROOT . '/file/relative/to/the/root.php';

The second is to use the include_path:

// in a file in your root directory:
set_include_path(dirname(__DIR__) . PATH_SEPARATOR . get_include_path());

// in other files:
// PHP will search in include_path 
include 'file/relative/to/the/root.php';


An alternative solution (little more work) is to go Object Oriented and implement an autoloader.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜