欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php require文件里再require就不起提示出错

程序员文章站 2022-06-03 21:37:04
...
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,这自然是找不到的,所以报错了

在使用相对路径包含时,要坚持一个原则:
被包含文件要处于包含文件的下或同级目录中
这要既不易出错,也体现了功能文件的层次关系


好的,谢谢!