我遇到include/require命令的问题。include不起作用
的文件结构如下所示:
private |
- config.php
- dbc.php
public |
- index.php
- includes |
- database.php
这里是在配置文件中更好地理解 http://i.stack.imgur.com/iHm5C.png
像我有这样的:
<?php
$dbname = "Prehlad_oop";
$dbuser = "lifestype_oop";
$dbpass = "fwoop";
$dbhost = "localhost";
?>
在dbc.php我有此:
public function c(){
include "config.php";
$this->conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
.... other code
和database.php中:
require '../private/dbc.php';
$conn = new connection;
$conn->c();
当我从dbc.php加载它,但是,如果我从database.php中加载页面这个事情是工作,这是行不通的,我说:已经在dbc.php
不确定的变量,我发现一种方法,使此代码的工作,甚至当我打电话,如果从database.php中,加入
../private/
在dbc.php
...最终代码看起来像这样:
public function c(){
include "../private/config.php";
我的问题是,为什么我需要在目录路径,当我想包括的文件是在同一目录(config.php和dbc.php)。只有当我从database.php调用函数时才会出现此错误。当我在包含文件中包含文件时是否有一些障碍? ty的答案:-)
include/require使用相对路径搜索相对于php.ini'include_path'指令中列出的条目,该条目通常包括当前工作目录。因此,它们与__current工作目录_相关,不一定与包含文件的目录位于相同的位置....理解这一点,并且您将理解包括......这是许多PHP开发人员从未完全理解的东西 –