2010-11-15 177 views
2

我想检查一下我的服务器上的文件夹是否有图像。我有这个小函数在PHP中,但不工作,我不知道为什么:PHP - 检查一个文件夹中是否存在文件

$path = 'folder/'.$id; 
function check($path) { 
    if ($handle = opendir($path)) { 
     $array = array(); 
     while (false !== ($file = readdir($handle))) { 
      if ($file != "." && $file != ".." && count > 2) { 
       echo "folder not empty"; 
      } else { 
       echo "folder empty"; 
      } 
     } 
    } 
    closedir($handle); 
} 

任何帮助将不胜感激,在此先感谢。

+1

什么是“count”变量(我假设)?它有没有改变? – 2010-11-15 19:04:48

回答

3

它不工作,因为count从无处到来。试试这个:

$path = 'folder/'.$id; 
function check($path) { 
    $files = glob($path.'/*'); 
    echo empty($files) ? "$path is empty" : "$path is not empty"; 
} 
+0

Vars out of quotes ...可以调试你的大部分代码;)http://www.pfz.nl/wiki/variabelen-buiten-quotes/(荷兰语) – dododedodonl 2010-11-15 19:31:35

+1

...那是什么? – netcoder 2010-11-15 19:33:57

+0

只是试图翻译它与谷歌翻译...这是一篇文章,解释(坏)的PHP行为:'“$路径为空”' – dododedodonl 2010-11-15 20:03:33

0

试试这个:

$path = 'folder/'.$id; 
function check($path) { 
    if (is_dir($path)) { 
     $contents = scandir($path); 
     if(count($contents) > 2) { 
      echo "folder not empty"; 
     } else { 
      echo "folder empty"; 
     } 
    } 
    closedir($handle); 
} 

它计算路径的内容。如果有两个以上的项目,那么它不是空的。我们忽略的两项是“。”和“..”。

相关问题