【问题标题】:How to access config.php file from multi level subdirectories?如何从多级子目录访问 config.php 文件?
【发布时间】:2013-04-21 17:36:05
【问题描述】:

我对我的网站结构有疑问。我在根目录中有一个 config、lib 和 public 文件夹。 config 包含 config.php 和其他类似文件,lib 包含所有 php/html 内容(页眉、每个页面内容、页脚等),而 public 文件夹包含每个页面的所有子文件夹,其中包含 index.php。我为 url 做了这个......无论如何,这些 index.php 中的每一个都将它们的页面名称设置在一个变量中,并为整个内容调用 config.php 文件和一个 module.php。 我的问题是,因为我有多级子目录(新闻/体育/足球)每个 index.php 都有不同的配置路径来调用。 “最深”的文件在 config/config.php 之前有很多“../”。

这是 public/news/ 中的 index.php:

<?php  
require '../../config/config.php';


$MainPage = 'news';
$CurPage = 'news';


include_once(LIB_PATH. 'modules.php');  
?>

那么,有没有办法获得绝对根目录,以便所有文件中的路径都相同? 还有,这个结构对吗?

【问题讨论】:

  • LIB_PATH 定义在哪里,你使用的是什么服务器?
  • LIB_PATH 在 config.php 以及其他全局定义中定义。我在我的电脑上使用 EasyPhp 处理它,并且暂时在 Altervista 的服务器中。

标签: php subdirectory


【解决方案1】:

您应该能够使用绝对路径从任何地方调用 config.php。

include "/config/config.php";

你不能这样做,因为 PHP 的 ini_path 不包括你的目录。

尝试阅读this answer 了解在哪里/如何将目录添加到您的 php.ini 路径。

【讨论】:

    【解决方案2】:
    require $_SERVER['DOCUMENT_ROOT'].'/config/config.php';
    

    【讨论】:

    • DOCUMENT_ROOT 给了我一个奇怪的根。那是因为我在 EasyPhp 中使用了别名吗?在服务器上也给了我奇怪的路径...
    猜你喜欢
    • 2015-07-24
    • 2017-11-05
    • 1970-01-01
    • 2021-03-11
    • 2020-04-19
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多