比如说有个文件www/myphp/a/1.php
然后有个文件 www/myphp/b/1.php 里面include(../a/a.php)
然后问题来了
www/myphp/c/1.php : include(../b/1.php)这个没问题
www/myphp/c/d/1.php也要 include(../../b/1.php)在这个就include不到a下的1.php了
求解决
_FILE_我试了一下,好像是当前文件的路径吧,dirname(_FILE_).是反回上一层,然后dirname(dirname(_FILE_))再返回上一层,好像和../../没什么区别
使用绝对路径
文件包含时,在同一级
绝对是路径那不是说换具服务器还得放在同一路径上???
追答是你在所有的include 的文件,都直接用成绝对的路径
比方说,可以用php 内置全局变量 $_SERVER['DOCUMENT_ROOT']得出根路径
$project_dir=$_SERVER['DOCUMENT_ROOT']
那么可以定义
define DOCUMENT_ROOT =$project_dir.'/myphp/';
就include DOCUMENT_ROOT.‘A.php’
include DOCUMENT_ROOT.‘c/d/B.php’
...
类似这样。。
还有建议使用incluce_once,这样也可以避免重复引用