2014-03-29 36 views
0

我有一個config.php的問題,需要你的幫助。我有3個文件名爲index1.php,caller.php和config.php。 index1.php位於根目錄,其他位於根目錄的子目錄subdir中。找不到config.php的子目錄

index1.php

<?php 
require_once("subdir/caller.php"); 
?> 

caller.php

<?php 
require_once("config.php"); 
?> 

的config.php

<?php 
echo "Hi from config.php"; 
?> 

當我嘗試HTTP://localhost/index1.php瀏覽器顯示什麼(FireFox & IE)。如果我將caller.php中的代碼更改爲require_once(「subdir/config.php」),那麼我可以看到文本。另一方面,如果我將config.php的名稱更改爲convit.php等其他名稱,並將caller.php中的代碼更新爲require_once(「convit.php」),那麼我也可以看到該文本。

你能向我解釋爲什麼。我剛剛在Windows 8上安裝了XAMPP,除了修復安全漏洞之外,沒有在系統中配置任何內容。

親切的問候, 升

+0

您發佈的代碼適合我。在Firefox和Chrome中呈現。 – Durandal

+0

感謝您的發佈。我已經在Windows XP和Windows 8上嘗試了這一點,並且遇到了同樣的問題。 – Thang

回答

-1

這可能是XAMPP(XAMPP-win32-1.8.3的錯誤-3- VC11的安裝程序)。我曾嘗試使用WAMPSERVER(Wampserver2.4-x64)並沒有任何問題。

0

你最好使用

<?php require_once(dirname(__FILE__)."config.php"); ?>

在caller.php

+0

謝謝。您的代碼應該添加DIRECTORY_SEPARATOR以使其工作。但是它會和我上面發佈的require_once(「subdir/config.php」)一樣。只要提醒一下,caller.php和config.php位於同一個目錄中。爲什麼需要將相對目錄添加到文件路徑以使其工作?爲什麼我只是將config.php的文件名更改爲其他內容以獲得預期結果? – Thang

+0

是的,你是對的 – iwcoder