5

我将图像存储在一个目录结构中,有点像这样:

  • 图片
      • 拇指
        • awefawef.jpg
        • dtyhtyh.jpg
      • 满的
        • awefawef.jpg
        • dtyhtyh.jpg
        • eriguherg.jpg
    • 酒吧
      • 拇指
        • 尔格.jpg
      • 满的
        • 尔格.jpg
        • tyjhr5g.jpg
    • some_other_dir
    • ETC ...

(注意:“拇指”目录中的图像数量并不总是与其相邻的“完整”目录中的图像数量相同。)

所以:我需要使用 PHP 来计算所有“完整”目录中的图像总数。

我确信我可以通过获取“图像”的所有子目录的列表来找到一种方法,然后循环浏览它们并计算每个“完整”文件夹中的图像。但是由于每个文件夹中将有数千个目录和数百个图像,因此我正在寻找最有效的解决方案 - 这将需要由站点经常完成。

这里最有效的方法是什么?

4

3 回答 3

15

这将适用于您概述的情况:

$imagecount = count(glob("images/*/full/*.jpg"));
于 2012-08-02T18:50:13.003 回答
2
$count = count(glob("images/*.jpg"));

echo "In images have $count images";
于 2013-07-01T08:35:08.370 回答
0

尝试这个:-

<?php

$directory='images';
$count=0;
$full_images='';

if($handle = opendir($directory)) {

  while (false !== ($file = readdir($handle))) {

    if(is_dir($directory.'/'.$file))
    {
    if($handle1 = opendir($directory.'/'.$file."/full")) {

      while (false !== ($file1 = readdir($handle1))) {
        if(!is_dir($file1))
         {
            $count=$count+1;
        $full_images[$file]['full'][]=$file1;
          } 
      }
    }
    }
  }

closedir($handle);
}

echo "Total count images in all of the full directories in: <b>".$count."</b> <br />";

foreach($full_images as  $k => $v)
{
  foreach($v as $key)
  {
    echo "Total count images in ".$k."\'s full directory in:  <b>".count($key)."</b><br />";
  }

}
?>
于 2012-08-02T18:47:04.197 回答