2010-05-28 74 views
0

我在document_root中有多个子域。这些子域文件夹中包含多个文件夹/类。我需要一些能够帮助我使用include_once路径的东西,但是$ _SERVER [DOCUMENT_ROOT]太慢了。如果我要使用它,并在晚些时候传输网站文件夹,我所有的include_once路径将会/可能会中断。

希望我的问题很明确......有什么建议吗?

本质上,我试图做的是,访问类,位于不同的文件夹,从不同的文件。当它适用于某些文件时,由于我编写包含语句的方式,它会打破其他文件。

即, class test {include_once'../Data/employee.php';} 将包含类测试的文件将起作用。但是,说另一个来自不同目录的文件包含类测试。它会中断。因为其他文件可以是3个文件夹深,而不是一个。

+0

可能是你的意思$ _SERVER ['DOCUMENT_ROOT']? – 2010-05-28 16:42:37

+0

woops,我的意思是服务器:),感谢您发现错字。但那是说...你有解决方案吗? – Kukoy 2010-05-28 17:26:04

+0

$ _SERVER ['DOCUMENT_ROOT']将包含每个系统上的文档根目录。所以,我看到使用它没有问题。 – 2010-05-28 17:39:38

回答

1

您可以通过设置每个子域include path(在<virtualhost>内)Apache's php_value directive.

+0

我担心客户端移动服务器。如果他们移动服务器,他们将需要使用您的解决方案重新配置新的Apache服务器。有没有Apache配置的方式? – Kukoy 2010-05-28 17:49:16

+0

你可以在目录本身的.htaccess文件中获得。 – vartec 2010-05-29 09:30:11

+0

我没有做到这一点,但我认为这是正确的,因为重定位文件夹到真正的文档根做我想要的。所以基本上,如果我告诉Apache使用不同的文档根,理论上这个答案应该起作用。 – Kukoy 2010-06-19 13:44:40

1

这可以解决你的问题:

$relpath = ""; 
$tempvarrelpathdir = explode("/",dirname($SERVER['PHPSELF'])); 
for($i=count($tempvarrelpathdir); $i>0; $i--) if($tempvar_relpathdir[$i] != '') $relpath .= "../"; 

将得到的相对路径的根目录...

+1

这个答案仍然没有理由投票下来... – Zuul 2010-05-30 04:43:18

相关问题