Home  >  Article  >  Backend Development  >  php require文件里再require就不起提示出错

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

WBOY
WBOYOriginal
2016-06-23 13:31:311572browse

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,这自然是找不到的,所以报错了

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


好的,谢谢!
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn