我从一个深度嵌套的文件夹中调用我的PHP文件,因为我的代码是用模块构建的。
我试过了:
define('__ROOT__', dirname(__FILE__).'../../../');
echo __ROOT__;
这给了我:
/var/www/virtual/myvirtualservername/mywebsite.com/modules/Dialog/Feedback../../
我不能只使用:
$_SERVER['DOCUMENT_ROOT']
这让我:
/var/www/virtual/myvirtualservername/html
这也是错误的文件夹。
不幸的是它不起作用,我的服务器上没有错误日志,所以我无法调试内部服务器错误。现在请求我的提供者。
总之,我的问题是如何到达我想要的文件夹,
/var/www/virtual/myvirtualservername/mywebsite.com/
?
答案 0 :(得分:2)
我认为您的问题是您没有在路径的开头添加斜杠。返回目录值而没有尾部斜杠,例如/var/www
修改你的第一行应该有效:
define('__ROOT__', __DIR__.'/../../../mywebsite.com');
echo __ROOT__;
我将评论中提到的dirname(__FILE__)
替换为__DIR__
。另请注意,__ROOT__
没有尾部斜杠,因此您可以在放入文件时添加它,例如
include __ROOT__ . '/file.php';
我不确定你的文档根目录是什么。看起来网站的公共部分位于html
,但PHP代码位于mywebsite.com
目录旁边。
答案 1 :(得分:0)
我不知道......也许你可以做一个'字符串替换',如果你想要它是准确的,如下所示:
define('__ROOT__',str_replace("/modules/Dialog/Feedback","",dirname(__FILE__)));
这样的东西应该产生你想要的结果。