在其他web编程语言中相对路径都是以当前处理文件目录为基准,而在PHP中并非如此。PHP中相对路径是以当前工作目录为基准的,并非以当前处理文件目录为基准,这样在开发过程中带来了不少的麻烦。比如会遇到一下问题
aaa
a.PHP
bbb
b.PHP
b1.PHP
ccc
c.PHP
以上目录中c.PHP中require(../b1.PHP),在a.PHP中require(bbb/ccc/c.PHP),这样就会出错,因为a.PHP中会在../中找b1.PHP,会找不到b1.PHP文件而报错,解决以上引用问题的一般做法有两种:
一、在a.PHP中加上define('ROOT_PATH',dirname(__FILE__));
之后再加上
require ROOT_PATH/bbb/ccc/c.PHP
二、 在根目录下新建一个文件global.PHP,内容包含chdir(dirname(__FILE__));
综上所述,如果a文件引用了非同目录的b文件,且这个a文件将被非同目录的c文件引用,那么就要在a文件中用dirname(__FILE__)来包含b文件,否则在执行c文件时,会报错找不到b文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。