2013-08-18 71 views
-1

我有一個文件夾中的文件a.php和數據文件夾。在數據文件夾中,我創建了兩個文件:b.php和c.php。PHP中的工作原理是什麼?

a.php只會

<?php 
    $a = 1; 
    include('data/b.php'); 
?> 

b.php

<?php 
include('data/c.php'); 
?> 

c.php

<?php 
echo $a; 
?> 

當我運行文件a.php只會,結果爲1,但我換量文件b.php到include('c.php'); 文件a.php的結果也是1.

我認爲它應該顯示一個錯誤,因爲a.php和c.php不在同一個文件夾中。

+2

閱讀http://php.net/include - 從文件夾結構'b.php'和'c.php'看起來像是在同一個文件夾中,這意味着在'b.php'你應該'包括'c.php';'。 –

+0

好的,但在b.php include('data/c.php')中,文件a.php顯示爲1. – user2693571

+0

在官方文檔中檢查以下行:'如果文件未在include_path中找到,include將最終檢查在調用腳本自己的目錄和失敗前的當前工作目錄中。'Word'和'是有原因的。 ) – raina77ow

回答

-1

如果包含文件,即使是從子文件夾中,主「相對」路徑仍然是來自第一個文件的路徑。詳細瞭解include/require函數 - 它們只是在指定的位置插入腳本,不會改變包括相對路徑。

+0

請詳細解釋! – user2693571

相關問題