我的站点的层次结构如下:
/
/webroot/
/webroot/index.php
/webroot/images/foo.jpg
我对/
没有写权限,但对/webroot
内的任何内容都有写权限
现在说在index.php中,我有以下任何命令:
var_dump(is_dir('./images/frontpage'));
var_dump(is_dir('images/frontpage'));
var_dump(is_dir('/webroot/images/frontpage'));
var_dump(is_dir('.'images'frontpage'));
他们都将返回false
。但如果在webroot'index.php
中,我。。。
var_dump(is_dir('../images'));
它们返回CCD_ 5。我是不是错过了一些显而易见的东西?它应该这样工作吗?我不明白。
但是:如果我有这样的东西:
/
/webroot/
/webroot/index.php
/webroot/images/foo.jpg
/webroot/subfolder/index.php
然后var_dump(is_dir('../images'));
将在index.php
和subfolder/index.php
中返回true
如果您从/webroot/subfolder/
调用它们,则两者都将返回true。
..
和.
取决于当前工作目录。从/webroot/subfolder/some.php
调用/webroot/index.php
将使/webroot/subfolder/
成为当前工作目录。因此'../images'
将始终是一个目录,并且它将返回true。