PHP返回URL中的文件夹

时间:2014-12-10 19:41:47

标签: php

我从一个深度嵌套的文件夹中调用我的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/

2 个答案:

答案 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__)));

这样的东西应该产生你想要的结果。