php - 为什么 "include"在示例代码中不起作用?

标签 php mysql apache include

方向结构如下

  • 源文件夹

    • 引擎
      • 类(class)
        • CalendarClass.php
      • 数据库
        • 其他
        • DBLink.php
    • 字体
    • 图片
    • JS
    • 页面

      • 日历.php
    • 风格

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

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

警告:include():无法在 D:\apache\htdocs\Engine\中打开“../Database/DBLink.php”以包含 (include_path='D:\apache\php\PEAR') Classes\CalendarClass.php 第 3 行

fatal error :在第 10 行的 D:\apache\htdocs\Engine\Classes\CalendarClass.php 中找不到类“DBLink”

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 的正确方法是什么?

最佳答案

您需要使用

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

PHP 正在寻找此文件,但从不同的根路径开始。

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

__DIR__ 提供文件所在目录的路径。

更简单的方法是使用 autoloading

关于php - 为什么 "include"在示例代码中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38378427/

相关文章:

PHP - 检查单词是否在一组单词中

php - mysql只有在php执行时才会出现语法错误

mysql - 同一个表的多个连接计数错误

php - php 中的 enable_dl 配置有何用处?

php - json_encode 在开发服务器和实时服务器上的行为不同

php - CakePHP saveAll() 函数问题

php - 动态 PHP 表过滤和排序

javascript - 在 Openshift 上使用 Angular 和 PHP 时出现跨域脚本错误

html - 如何在 Apache 服务器中将没有 .html 扩展名的页面呈现为 html 页面

php - 发布带有可选字段和必填字段的表单