如何访问不在根目录上并包含内容的页面

时间:2012-08-15 17:00:34

标签: php apache

我正在开发一个使用PHP和JavaScript的Web应用程序,如果它们包含其他文件(即'包含一次'),我在访问根目录不存在的页面时遇到了一些麻烦。

[文件系统] /www/project/test/test.php

项目文件夹有index.php 以下是我的代码示例:

include_once('../config/config.php');
include_once('../database/database.php');
echo 'Test.php';

$config = new Config();
$dbhandle = new Database();

[...]

我在这里做错了什么?

Apache的错误日志告诉我没有文件config.php和database.php。

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

使用$ _SERVER ['DOCUMENT_ROOT']将路径重定位到服务器的根路径,如下所示:

 $root_path =  $_SERVER['DOCUMENT_ROOT'] ; //Returns the root path of your server

 //Then call your inlude_once with the absolute path
 include_once($root_path . '/project/config/config.php')

所以现在你所有的道路都是绝对的而不是相对的。 希望有所帮助。

PS:你也可以使用一个php框架来解决这个问题,这个框架可以让你在一个更大的项目上更轻松地路由你的依赖项。

答案 1 :(得分:1)

获取文档根目录

$_SERVER['DOCUMENT_ROOT'];

因此

include_once($_SERVER['DOCUMENT_ROOT'] . '/project/config/config.php');

应该适合你。