2013-02-24 38 views
4

我有文件夾主頁有兩個子文件夾,如以下require_once子文件夾

+Home 
+include 
    - membersite_config.php 

+iDiscover 
    -index.php 

中的index.php我加放在require_once腳本訪問membersite_config.php

<?PHP 

require_once($_SERVER['DOCUMENT_ROOT'].'/include/membersite_config.php'); 
?> 

我得到以下錯誤: 警告:require_once(./include/fg_membersite.php):無法打開流:第2行沒有D:\ Home \ include \ membersite_config.php中的此類文件或目錄
致命錯誤:require_once():Failed openin g在第2行D:\ Home \ include \ membersite_config.php中包含'./include/fg_membersite.php'(include_path ='.; C:\ php \ pear')

錯誤說沒有這樣的文件或目錄,而路徑「D:\ Home \ include \ membersite_config.php」是正確的。當我將index.php移動到根目錄下時,頁面運行良好。

我也嘗試使用下面的代碼描述here但它給了同樣的錯誤

<?PHP 


define('ROOT', 'D:Home\\'); 
require_once(ROOT ."/include/membersite_config.php"); 
?> 

編輯:

我也試過 require_once( 「../包括/ membersite_config.php」 ); 它給了同樣的錯誤

在此先感謝

+0

你檢查了文件權限嗎? – Ares 2013-02-24 07:23:20

+2

嘗試require_once(「../include/memberite_config.php」); – 2013-02-24 07:24:37

+0

@Ares是的,當我將index.php移動到根目錄時,一切正常。 – Mariam 2013-02-24 07:28:50

回答

0

試試這個:

require_once("../include/membersite_config.php"); 

不要忘記檢查文件/文件夾的權限!

+0

謝謝。我嘗試過,但它給出了同樣的錯誤。文件夾權限是完全控制。我可以訪問該文件,當我將index.php移動到根目錄而不是將其放入iDiscover文件夾內 – Mariam 2013-02-24 07:31:20

0

嘗試這種情況:

<?PHP 
require_once('../include/membersite_config.php'); 
?> 
+0

謝謝。但它給出了相同的錯誤 – Mariam 2013-02-24 07:31:48

+0

你是否把代碼放在這裏?:iDiscover/index.php – richard 2013-02-24 07:34:24

+0

是的。 iDiscover是根(主頁)文件夾下的子文件夾 – Mariam 2013-02-24 07:35:37

0

'..' 是指回

require_once( '../包括/ membersite_config.php');

意味着走出你所在的文件夾,然後輸入包括...

,如果你必須走出三個文件夾就這個../../../包括...等

1

錯誤意味着你必須在你的membersite_config.php一個要求不上線工作2

+0

我可以看到它不起作用。它說未能打開流:沒有這樣的文件或目錄,而目錄確實存在。這就是爲什麼我問我的代碼有什麼問題 – Mariam 2013-02-24 07:45:36

+1

閱讀我輸入的內容。該錯誤不在index.PHP中。 – HerrSerker 2013-02-24 10:43:54

+0

當它位於子文件夾iDiscover內時,index.php無法訪問membersite_config.php。當我將index.php移動到根目錄時。相同的代碼沒有問題。 – Mariam 2013-02-24 11:49:03

1
require_once(dirname(dirname(__FILE__)).'/home/include/membersite_config.php'); 
3

您必須包括這樣

require_once(dirname(__FILE__) . '/include/membersite_config.php'); 

因爲DocumentRoot的可不能在httpd.conf

0

設置調試試試這個:

<?php 
$dir_files=glob($_SERVER['DOCUMENT_ROOT'].'/include/*'); 
print_r($dir_files); 
?> 

您運行此腳本後,你會看到,如果你的文件名(S)是正確的。

+0

我試過了,文件確實存在 – Mariam 2013-02-24 08:41:40

+0

,我想是完全像** membersite_config.php **拼寫的? – 2013-02-24 08:46:35

+0

如果你運行的是memberite_config.php,你會得到任何錯誤? (如圭多詹森建議) – 2013-02-24 08:49:17