您好,欢迎访问一九零五行业门户网

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

如何判断目录下包含文件,不是空目录
本帖最后由 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……
要有人承接递归调用的返回值!
其它类似信息

推荐信息