一、获取附件图片数量

本方法实际获取的是文章附件的数量,而非只是图片的数量,如果你的文章含有文件附件,列表也会显示成图片数量。所以此方法最适合于文章图片特别多而且没有附件的博客

1.在module.php里面添加:

<?php
//图片数量
function pic_num($attnum){
  if ($attnum > 0) {
    echo '<span class="attnum" title="此文有 '.$attnum.' 张图片">',$attnum,'</span>';
  }
}?>

2.在首页需要的调用的位置添加:

 <?php pic_num($value['attnum']); ?>

二、获取文章外链图片数量和数据库上传图片数量

在制作emlog模版列表时,为了排版有时会需要判断文章内的外链图片与数据库上传的图片数量,通过判断图片数量就可以很好的美化列表模版了,有需要的把函数代码复制到emlog模板文件夹下的module.php文件里,然后在列表页或者内容页需要的地方写上调用代码即可。

1. 在moudle.php里面添加

<?php
function wrz_imgcount($content){
//正则获取文章内的外链图片数量
preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]*>|is", $content, $imgarr);
$result = $imgarr[1];
return count($result);
}
function wrz_filecount($logid){
//查询数据库统计文章内上传的图片数量
$db = Database::getInstance();
$sql = "SELECT COUNT(*) AS `filepath` FROM ".DB_PREFIX."attachment WHERE blogid=$logid AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png' OR `filepath` LIKE '%jpeg') and `filepath` not like '%thum-%' ORDER BY `aid` asc";
$result = $db->fetch_array($db->query($sql));
$count = $result['filepath'];
return $count;
}
?>

2.调用方法:

wrz_imgcount函数是正则获取文章内的外链图片数量,调用代码:

<?php echo wrz_imgcount($content)?>

wrz_filecount函数是通过查询数据库统计文章内上传的图片数量,调用代码:

<?php echo wrz_filecount($logid)?>