2013-10-26 55 views
-1

我有DirectoryIndex index.php,並希望include './';但我得到failed to open stream: Is a directory包括默認的DirectoryIndex

我當然include substr($someString, -1)==='/'?$someString.'index.php':$someString;,但有一個更簡單的方法?也許在.htaccess或php.ini的東西?

不是答案。

+0

我不明白你爲什麼想要這樣做,而不是簡單地將'index.php'字符串添加到'./'的末尾。 'include'./index.php';'怎麼了? – aviemet

回答

2

您不能包含目錄。 PHP只會接受一個有效的文件作爲include的參數,所以如果你想能夠使用「./」或「somedir /」並讓它在該目錄中找到index.php文件,你總是可以寫一個函數,它將dir作爲參數並返回其中的索引文件的完整路徑。

喜歡的東西:

function index($dir){ 
    return substr($dir, -1) === '/' ? $dir.'index.php' : $dir; 
} 

然後,你可以打電話include index("./");或其他一些目錄名,並將它返回正確的字符串。

0

,如果你想從當前目錄,包括你不需要任何路徑:如果你想從遠程文件包含你應該從http

include 'http://www.example.com/file.txt'; 

經辦人開始

include 'index.php'; 

其他:WINDOWS PHP 4.3.0以前版本的PHP不支持通過此函數訪問遠程文件,即使allow_url_fopen已啓用。

否則,如果你想包含相對路徑,你可以開始'/ ......然後你從你的主機根或'../ ......開始從子目錄開始說明。

+0

你沒有回答這個問題。具體的目錄是未知的。我想要一個能夠使目錄變成索引文件的東西,比'substr($ someString,-1)==='/'更容易嗎?$ someString.'index.php':$ someString;'可能是.htaccess中的一些東西或php.ini。 – bjb568

相關問題