【问题标题】:PHP include prevent having to back track directoryPHP包含防止不得不回溯目录
【发布时间】:2012-03-22 19:37:04
【问题描述】:

我在我的网站上使用这种方式已经有一段时间了,但现在它变得越来越大,我可以像过去一样继续这样做。我正在完全重新编码,所以我想提前解决这个问题。

我在目录的根目录中有一个名为“includes.php”的文件,我需要在我拥有的每个页面上都包含它,因为该文件包含诸如函数的 php 页面、数据库连接和我可能还需要什么。

现在,如果我有这样的目录:ajax/load/comment.php

在comment.php上我必须在页面顶部有:

<?php
     include("../../includes.php");
?>

必须有一些我可以使用的东西,所以在查找文件时它总是会转到根目录。

【问题讨论】:

    标签: php include directory


    【解决方案1】:

    这应该可以:(无论路径有多深)

    <?php
        include $_SERVER['DOCUMENT_ROOT'].'/includes.php';
    ?>
    

    【讨论】:

      【解决方案2】:

      您也可以使用绝对路径。例如:

      include ('C:/Work/Webroot/store/lib/includes.php');
      

      最好在配置文件中定义基本文件夹,然后使用它。

      define('SITE_ROOT', 'C:/Work/Webroot/store/')
      

      在你的 php 文件中

      include(SITE_ROOT.'lib/includes.php');
      

      【讨论】:

        【解决方案3】:

        您最好使用一个中心点,其中包含所有必要的文件。

        在您的项目中,有时它会变得非常混乱,您必须考虑包含该文件的所有可能性。

        自动加载器有助于处理大型项目中的这些问题。 PHP 本身提供了一些 basic autoloading 例程。

        【讨论】:

          猜你喜欢
          • 2017-07-12
          • 2012-07-10
          • 1970-01-01
          • 1970-01-01
          • 2010-12-25
          • 2015-02-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多