double0201 2012-02-05 23:00
浏览 87

PHP:is_dir()用于诸如“./folder”之类的文件夹返回false,除非我将它们指定为“../folder”

The hierarchy of my site is like this:

/
/webroot/
/webroot/index.php
/webroot/images/foo.jpg

I do not have write permissions for /, but I do for anything within /webroot.
Now say within index.php I have any of these commands:

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'));

They will all return false. But if within webroot\index.php I have...

    var_dump(is_dir('../images'));

...they return true. Am I missing something obvious? Is it supposed to work this way? I don't understand this.

BUT: If I have something like this:

/
/webroot/
/webroot/index.php
/webroot/images/foo.jpg
/webroot/subfolder/index.php

Then var_dump(is_dir('../images')); will return true both in index.php and in subfolder/index.php

  • 写回答

1条回答 默认 最新

  • dpd7195 2012-02-05 23:10
    关注

    Both will return true if you are calling them from /webroot/subfolder/.

    .. and . depends on your current working directory. Calling /webroot/index.php from /webroot/subfolder/some.php will make /webroot/subfolder/ the current working directory. Hence '../images' will always be a directory and it'll return true.

    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c