日期:2012-03-26  浏览次数:20412 次

目录有些人喜欢补上斜杠 比如 $dir = dirname(__FILE__) . '/';
而有些人嫌麻烦和代码不美观,直接用 $dir = dirname(__FILE__);

这样当我们要include文件的时候就有可能出问题。
比如要包含test.php,如果是dirname(__FILE__) . '/test.php',那当然没问题,如果没有斜杠,如dirname(__FILE__) . 'test.php',那问题就来了,要找D:\web\test.php就变成了找D:\webtest.php了。

解决方案:
目录常量或变量后用 ./ 代替 /
比如:
include 'D:/web./test.php';
include 'D:/web/./test.php';
都相当于
include 'D:/web/test.php';

这样就不用考虑目录名后面是否加 / 了,而且当用常量或变量来获取目录的时候,显示将更直观。
如:
define('ROOT_PATH', dirname(__FILE__) . '/');
include ROOT_PATH . './test.php';

include ROOT_PATH . '/test.php';
include ROOT_PATH . 'test.php';
更容易直观的判断 文件为 ROOT_PATH 下的文件