数据库中保存了每个附件的名称、上传者和文件路径,但不是每一个附件都是真实存在的,所以从数据库中取出附件列表后,要逐一检查文件是否存在,不存在的话要从列表中剔除。
现在的问题是如何得到附件的总数?要求数据库中存在且附件文件存在,并且二者之间能对应上。如果先从数据库中把所有的附件取出来,再逐一检查文件是否存在,这样是可以得到准确的总数。但这样太耗时间了,效率不高。
如果不检查文件是否存在,只按数据库中的总数或真实文件的总数的话肯定是不准确的。而且如果要按上传者分类的话也是无法实现的。大家有没有好的办法?

解决方案 »

  1.   

    现在的问题是如何得到附件的总数?查询附件文件下的文件总数<?php 
    function get_file_count($dir_name) { 
       static $count; 
    $arr = scandir($dir_name); 
       while (list($key, $value)=each($arr)) { 
         if (($value == '.') || ($value == '..')) { 
           continue; 
         } 
        $path=$dir_name.'/'.$value; 
         if (is_dir($path)) { 
          get_file_count($path); 
         }else if (is_file($path)) { 
          $count++; 
         }        
       } 
       return $count; 

    ?>