php相同目录怎么包含,怎么判断目录上包含文件,不是空目录

如何判断目录下包含文件,不是空目录

本帖最后由 maniachhz 于 2012-11-17 11:40:04 编辑

我想判断目录/upload下是否包含文件(不是目录),但我在/upload下新建一个test目录(无文件), 程序执行结果还是"不为空",而不是"为空". 请问哪里出问题? 求指点

/*

* 遍历目录,如果为空返回false

*/

function isEmptyDir( $path )

{

$dh= opendir($path);

$r = false;

while(false!==($f=readdir($dh)))

{

if ($f !=="." && $f !==".." && is_dir($f)){

isEmptyDir($f);

}

else if ($f!=="." && $f !== "..")

return $r = true;

}

closedir($dh);

return $r;

}

if (isEmptyDir($upload_dir."/")){

echo "不为空";

}

else echo "为空";

------解决思路----------------------

逻辑上你没理清除思路:

if ($f !=="." && $f !==".." && is_dir($f)){

// 假设进入这一分支,想想看会产生什么影响? 这句代码不会影响到最后的结果。

isEmptyDir($f);

// return isEmptyDir($f);

}

------解决思路----------------------

function isEmptyDir( $path )

{

$dh= opendir($path.'/');

$r = false;

while(false!==($f=readdir($dh)))

{

if ($f =="."

------解决思路----------------------

$f =="..") continue;

$f = "$path/$f";

if(is_dir($f)){

$r = isEmptyDir($f);

}

else $r = true;

}

closedir($dh);

return $r;

}

------解决思路----------------------

引用:斑竹的代码perfect

我修改了我上面写的函数.还是运行不对.不知道哪里出问题

PHP code?123456789101112131415161718192021/* * 遍历目录,如果为空返回false */function isEmptyDir( $path ){    $dh= opendir($path.'/');    $r = false;    wh……

if ($f !=="." && $f !==".." && is_dir($subdir)){

isEmptyDir($subdir);//改成$r = isEmptyDir($subdir);

}

------解决思路----------------------

引用:斑竹的代码perfect

我修改了我上面写的函数.还是运行不对.不知道哪里出问题

PHP code?123456789101112131415161718192021/* * 遍历目录,如果为空返回false */function isEmptyDir( $path ){    $dh= opendir($path.'/');    $r = false;    wh……

要有人承接递归调用的返回值!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值