【问题标题】:How can I access a page that is not on the root and has inclusions如何访问不在根目录且包含内容的页面
【发布时间】:2012-08-15 17:00:33
【问题描述】:

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

[file system]/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。

【问题讨论】:

    标签: php apache


    【解决方案1】:

    使用 $_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 框架来获得舒适感,该框架将在更大的项目中更轻松地路由您的依赖项。

    【讨论】:

      【解决方案2】:

      获取文档根目录

      $_SERVER['DOCUMENT_ROOT'];
      

      因此

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

      应该适合你。

      【讨论】:

        猜你喜欢
        • 2017-06-21
        • 1970-01-01
        • 2013-06-25
        • 2012-08-28
        • 1970-01-01
        • 2022-01-17
        • 1970-01-01
        • 1970-01-01
        • 2013-11-20
        相关资源
        最近更新 更多