脸上红肿痒是什么原因:php中的反斜杠/

来源:百度文库 编辑:九乡新闻网 时间:2024/05/04 19:00:46

php中的反斜杠/

 目录有些人喜欢补上斜杠 比如 $dir = dirname(__FILE__) . '/'; 而有些人嫌麻烦和代码不美观,直接用 $dir = dirname(__FILE__); 这样当我们要include文件的时候就有可能出问题。 比如要包含test.php,如果是dirname(__FILE__) . '/test.php',那当然没问题,   

目录有些人喜欢补上斜杠 比如 $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 下的文件