我遇到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開發人員從未完全理解的東西 –