为什么不包括"包括"在示例代码中工作?

时间:2016-07-14 15:34:11

标签: php mysql apache include

方向结构如下

  • 源文件夹

    • 发动机
        • CalendarClass.php
      • 数据库
        • 其他
        • DBLink.php
    • 字体
    • Imgages
    • JS​​
      • Calendar.php
    • 风格

当我尝试将DBLink.php类包含到CalendarClass.php时,我收到以下错误消息:

警告:include(../ Database / DBLink.php):无法打开流:第3行的D:\ apache \ htdocs \ Engine \ Classes \ CalendarClass.php中没有此类文件或目录

警告:include():打开失败' ../ Database / DBLink.php'在第3行的D:\ apache \ htdocs \ Engine \ Classes \ CalendarClass.php中包含(include_path =' D:\ apache \ php \ PEAR')

致命错误:班级' DBLink'在第10行的D:\ apache \ htdocs \ Engine \ Classes \ CalendarClass.php中找不到

CalendarClass.php的内容:

<?php

include "../Database/DBLink.php";

class CalendarClass{

    private $link;

     function __construct() {
        $this->link = new DBLink();
    }

    function UpdateCalendar(){
        $this->link->ClearCalendar();
    }

}

?>

将DbLink.php包含在CalendarClass.php中的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

您需要使用

__DIR__ . "/../Database/DBLink.php";

PHP正在寻找此文件,但是从另一个root path开始。

您需要提供完整路径,以便PHP查找正确的路径。

__DIR__提供文件所在的directoy的路径。

更简单的方法是使用autoloading

答案 1 :(得分:0)

解决方案:将包含更改为包含__DIR__ . "/../Database/DBLink.php"