Home > Article > Backend Development > php require文件里再require就不起提示出错
a.php里 requrice("template/pc/member/b.php") 正常
b.php里requrice("../c.php")就提示出错:failed to open stream: No such file or directory,如果我把 c.php和b.php放在同一级,或者放在b的下一级目录下包含就没有问题,但是上一级就出错,请问如何解决啊,哪里写的有问题?
贴出你的目录结构看看
贴出你的目录结构看看
应该没问题的啊!
b.php 用 requrice(dirname(dirname(__FILE__)) . "/c.php"); 试试看
用物理路径包含是没有问题的,很奇怪,被include的文件再include上一级文件就是不行,你可以试一下。
这不奇怪
a.php里 requrice("template/pc/member/b.php")
并没有改变 a.php 的包含文件搜索路径
如果你在 b.php 里 requrice("../c.php")
就会到 a.php 的上级目录里去找 c.php,这自然是找不到的,所以报错了
在使用相对路径包含时,要坚持一个原则:
被包含文件要处于包含文件的下或同级目录中
这要既不易出错,也体现了功能文件的层次关系
这不奇怪
a.php里 requrice("template/pc/member/b.php")
并没有改变 a.php 的包含文件搜索路径
如果你在 b.php 里 requrice("../c.php")
就会到 a.php 的上级目录里去找 c.php,这自然是找不到的,所以报错了
在使用相对路径包含时,要坚持一个原则:
被包含文件要处于包含文件的下或同级目录中
这要既不易出错,也体现了功能文件的层次关系