我有DirectoryIndex index.php
并且想要include './';
但我得到failed to open stream: Is a directory
我当然可以include substr($someString, -1)==='/'?$someString.'index.php':$someString;
,但是有更简单的方法吗?也许在 .htaccess 或 php.ini 中有一些东西?
否是一个答案。
我有DirectoryIndex index.php
并且想要include './';
但我得到failed to open stream: Is a directory
我当然可以include substr($someString, -1)==='/'?$someString.'index.php':$someString;
,但是有更简单的方法吗?也许在 .htaccess 或 php.ini 中有一些东西?
否是一个答案。
您不能包含目录。PHP 只接受一个有效文件作为包含的参数,所以如果你想能够使用“./”或“somedir/”并让它在那个目录中找到 index.php 文件,你总是可以写一个以 dir 作为参数并返回索引文件的完整路径的函数。
就像是:
function index($dir){
return substr($dir, -1) === '/' ? $dir.'index.php' : $dir;
}
然后您可以调用include index("./");
或其他一些目录名称并让它返回正确的字符串。
如果要从当前目录中包含,则不需要任何路径:
include 'index.php';
否则,如果您想从远程文件中包含,您应该从 http 开始
include 'http://www.example.com/file.txt';
Attn:PHP 4.3.0 之前的 Windows 版本的 PHP 不支持通过此函数访问远程文件,即使启用了 allow_url_fopen 也是如此。
否则,如果你想从相对路径中包含,你可以开始'/
......然后你从你的主机根目录开始,或者'../
......从子目录开始。