包括默认的DirectoryIndex

时间:2013-10-26 00:37:32

标签: php include directoryindex

我有DirectoryIndex index.php并希望include './';但我得failed to open stream: Is a directory

当然我可以include substr($someString, -1)==='/'?$someString.'index.php':$someString;,但有更简单的方法吗?也许是.htaccess或php.ini中的东西?

不是答案。

2 个答案:

答案 0 :(得分:2)

您不能包含目录。 PHP只接受一个有效的文件作为include的参数,所以如果你想能够使用“./”或“somedir /”并让它在该目录中找到index.php文件,你总是可以写一个将dir作为参数并返回索引文件的完整路径的函数。

类似的东西:

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

然后你可以调用include index("./");或其他一些目录名,让它返回正确的字符串。

答案 1 :(得分:0)

如果要从当前目录中包含,则不需要任何路径:

include 'index.php';

否则,如果要包含远程文件,则应从http

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

Attn:PHP 4.3.0之前的Windows版本的PHP不支持通过此功能访问远程文件,即使启用了allow_url_fopen也是如此。

否则,如果你想从相对路径中包含,你可以启动'/ ...然后从主机根目录开始,或者'../ ......从子目录开始说明。