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