如何从PHP的根本包含

时间:2010-01-27 22:31:35

标签: php unix include root

我正在以SaaS原则构建CMS。我的网络服务器(动态专用)启动并运行。这一切都像预期的那样,但现在我遇到了我的模板系统,后来又遇到了文件处理等简单的事情。从逻辑上讲,每个客户都有自己的托管帐户。所有托管帐户都将在同一台服务器上请求托管在大型全局帐户上的masterdatabase。

稍后需要处理的一些事情就像文件处理一样简单。通常,每个客户端都会将他/她自己的数据存储在他/她自己的托管帐户中。只有页面数据和其他数据(产品目录,调查等)将托管在数据库中。

但在我能够从集中托管系统上传文件之前,我需要弄清楚如何到达指定的hostingaccount。我已经将所有需要的数据存储在sessionvariable中,当客户选择他/她的网站时,该会话变量被填充(因为我的系统支持多个站点)。

我服务器上的urls结构如下: /home/[unix-user-name]/domains/[domain-name]/public_html/paths/to/the/folders/i/set/up/

url中的第二部分是hostingaccountname,第四部分是来自客户端的de domain。同样,我在会话变量中有这个信息,准备好访问。

我唯一的问题是,当客户端登录到系统时,基本网址的一部分已经全部填充如下:

/home/ontdek01/domains/ontdek5.nl/public_html/

我的问题是,如何强制PHP开始从根目录查找文件,在这种情况下home

3 个答案:

答案 0 :(得分:1)

我不确定我是否正确地解释了你的问题,但是你尝试过类似的事情:

chdir('/home/');

这将PHP的工作目录设置为home,因此PHP会查找相对于该目录的包含文件。

答案 1 :(得分:1)

在php.ini中将/home添加到include_path将允许include*()require*()从那里根据他们的搜索。

答案 2 :(得分:0)

你可以设置类似的东西:

$subDir = '/path/to/some/subdirectory/';
$includePath = $_SERVER['DOCUMENT_ROOT'] . $subDir;

include $includePath . 'myFile.php';

这允许它从根目录开始($ _SERVER ['DOCUMENT_ROOT']),然后在需要时进一步深入到子目录($ subDir)。