2017-02-03 82 views
0

爲什麼我的../在我包括不工作?爲什麼我的../在我的包括不工作

我想去一個文件夾背,然後輸入一個新的文件夾,但我得到這樣的警告:

PHP的警告:包括(../文件夾/ information.php文件):未能打開流:沒有這樣的文件或目錄第1行上的/home/user/bin/Code/TOOLS/main.php PHP警告:include():打開'../folder/Information.php'失敗以包含(include_path ='。:/ USR /共享/梨:在/ usr /共享/ PHP')在/home/user/bin/Code/TOOLS/main.php第1行

代碼:

<?PHP include "../folder/Information.php"; ?> 

文件夾結構:

home 
-user 
--bin 
---Code 
----TOOLS 
-----main.php 
----folder 
-----Information.php 

PHP V5.3及更高版本。 CentOS系統。

回答

2

爲了讓你的路徑工作,你應該包括你的包含完整的路徑。你可以通過使用一個常量來實現。

在早期的PHP版本中,您必須使用dirname(__FILE__)。在較新的版本中,您可以使用常量__DIR__

在這兩個版本中,您都可以獲得使用該常量的文件的絕對路徑。該路徑沒有最後一個斜槓。所以你必須在常量之後添加它們。

<?php include dirname(__FILE__)."/../folder/Information.php"; ?> 
<?php include __DIR__."/../folder/Information.php"; ?> 

../您可以更改高一級的目錄並返回路徑。

0

嘗試包括DIR常數和/或一個斜槓「/」前的「../」

<?PHP include __DIR__."/../folder/Information.php"; ?> 
+0

我已經嘗試/../但仍然是相同的結果。並且我不想使用__DIR__常量 –

+0

爲什麼不想使用DIR常量? –

+0

通用。 __DIR__無法在情人版本中使用,我不想每次都去其他地方使用 –

0

嘗試下面的代碼段,我想這可能工作。 <?PHP include "./folder/Information.php"; ?>

+0

沒有工作:( –