有一个小库,我正在尝试插入我的项目。这个lib有一些包含并且需要跨类,所以我试图为所有工作设置一个包含路径。
当试图在兄弟分支上设置包含路径时,我遇到了打嗝。
对于参考点,require('/../my/test.php')
工作正常。
也是如此
set_include_path('/../');
require_once('my/test.php');
但是一旦我尝试
set_include_path('/../my/');
require_once('test.php');
我明白了:
警告:require_once(one.php):无法打开流:没有这样的文件或目录......
我错过了什么?
答案 0 :(得分:5)
使用/
启动路径意味着查看根目录,因此/../
在技术上是一个目录上面根目录。
要设置当前位置的父目录的包含路径,只需../
。为了使代码更具可移植性,我建议将其与dirname(__FILE__)
组合以获取当前目录的绝对路径。
IE:
set_include_path(dirname(__FILE__) . '/../my/');
请注意,该示例中需要前面的/
,因为dirname()
不会返回斜杠