为了账号安全,请及时绑定邮箱和手机立即绑定

关于 require_once的多次包含时的路径问题

关于 require_once的多次包含时的路径问题

PHP
xxx_000 2016-05-02 18:11:54
假如有a.php , b.php , c.php三个文件,a和b在根目录下,c在test子目录下,在c.php中用了require_once '../b.php';如果这时a.php中用了require_once 'test/c.php';那么浏览器就会报错,这应该如何解决,只能用绝对路径解决吗
查看完整描述

4 回答

?
fordC

TA贡献8条经验 获得超6个赞

经验之谈,用绝对路径比相对路径好。相对路径有时候会把你搞晕。

查看完整回答
1 反对 回复 2016-05-03
?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

可以用 dirname(__FILE__) 或者 __DIR__ 来获取当前php文件的目录路径,再拼接一个相对路径给require_once。

但是,项目里的通常做法是,定义一个入口index.php文件,在这个index.php里定义一个项目根路径,再用根路径来拼接其他php文件路径给require_once。

查看完整回答
1 反对 回复 2016-05-02
  • xxx_000
    xxx_000
    我也是这样做的,在根目录定义了一个include.php文件,包含了其他一些关键的文件,但有些关键文件我又require_once了一下include.php文件,然后我在根目录的index.php里require_once 'include.php'会出现类似fail to require(../include.php)的错误,
  • qq_青枣工作室_0
    qq_青枣工作室_0
    相对路径,是相对于最先运行的php文件。你看看你最先运行的是哪个php
?
灬紫羽

TA贡献107条经验 获得超71个赞

最好还是引入的时候用__FILE__;绝对路径

查看完整回答
反对 回复 2016-05-03
?
逗你玩而已

TA贡献38条经验 获得超6个赞


统一管理最好了,太散很容易出错

查看完整回答
反对 回复 2016-05-02
  • 4 回答
  • 0 关注
  • 2031 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信