PHP不同目录下文件相互引用,相对路径填写。

来源:互联网 发布:华为无法访问移动网络 编辑:程序博客网 时间:2024/06/07 06:29

/a/a.php

$a = 100;$b = 100;

/b/b.php

require_once '../a/a.php';function sum($a,$b){    return $a * $b;}$c = sum($a,$b);echo $c;

此时b.php会输出:10000
但,若通过另一文件夹c下c.php引用b.php并输出$c:
/c/c.php

require_once '../b/b.php';echo $c;

此时会报出:
Warning: require_once(../a/a.php): failed to open stream: No such file or directory in *\b\b.php on line 1
警告,并且c.php无输出。

这是由于多层文件引用相对位置不确定造成的,通过使用:

dirname(__FILE__)

定位文件自身所在文件夹来确定相对位置
将/b/b.php改为:

require_once dirname(__FILE__) . '/../a/a.php';function sum($a,$b){    return $a * $b;}$c = sum($a,$b);echo $c;

小结:PHP访问不同目录下文件,尽量在相对路径前添加dirname(__FILE__) or __DIR__进行定位。

0 0
原创粉丝点击