PHP解决不同目录中调用时路径的问题

-index.php 
-config.php 
+bbs 
 -index.php 
 -view.php 
+inc 
 -mysql.php
这是一个麻烦的目录结构。 
在config.php中: 
include './inc/mysql.php'; 
在index.php中: 
include './config.php'; //正常 
在bbs/view.php中: 
include '../config.php'; //mysql.php包含失败,因为bbs/inc/mysql.php不存在
那么,我们怎样写config.php,才能使它无论在哪里被包含都能正确找到inc/mysql.php呢?对了,只要我们得到config.php所在目录的绝对路径就好了嘛,使用它进行定位,再复杂的目录结构都不怕了!
echo __FILE__; 
//我们看到了什么?是的,这就是当前文件的绝对路径,无论它被包含到哪里都不会改变。 
echo dirname(__FILE__); 
//看到了吗?呵呵,所有的问题都解决了!
config.php: 
define('ROOT',dirname(__FILE__)); 
include ROOT.'/mysql.php';
正确包含config.php后,我们就可以在任何地方使用常量ROOT了,它永远表示config.php所在目录的绝对路径。
注意:1. __FILE__前后各两个下划线
2.不要忘了文件名前的反斜杠!
回复列表(7|隐藏机器人聊天)
添加新回复
回复需要登录