2012-12-17 74 views
1

可能重複:
Relative include files爲什麼../(點點斜槓)在我的根目錄下工作?

例如,

include('../admin/db_cred.php'); 

那如果我在另一個文件夾,如公共工程。但是,如果我只是在www.SITE.com/index.php,它不起作用。

警告:包括(../管理員/ db_cred.php)[]:未能打開流:在/home/[...].php沒有這樣的文件或目錄在第6行

我添加了(點點斜線),因爲搜索../並不能很好地工作......

+2

它究竟如何「不起作用」? –

+0

對不起,我更新了包含警告。 – fwho

+0

@KeithThompson'「不能很好地工作」' –

回答

2

../約定指示從您所在的位置向上移動一個目錄級別。如果您位於根目錄中,則無法向上移動更多級別。

如果你的/ admin文件夾在根目錄下,你從/ public目錄中調用該方法,然後../admin/將允許您從下面

0

一個級別選擇/管理文件夾../是父文件夾,但根沒有父母。

如果你想解決

http://site/admin/db_cred.php 

你應該寫這樣的:

include('~/admin/db_cred.php'); 
2

../指或「上面這一個文件夾」「動起來的文件夾。」例如,如果您在終端並輸入cd ../,您將從您開始的位置向上移動一個文件夾。

當你在site.com/index時,你很可能在你網站的網站根目錄下,因此無法升級,因爲沒有升級。

「但是有/var/www以上的文件夾!」是的,有,但您的腳本無法訪問它們(這是一件非常好的事情,您不希望被劫持的腳本訪問您的整個服務器)。至於你的腳本,/var/www(或任何你的web根目錄)最高級別,無論實際上在文件系統上。

相關問題