Emlog调用附件第一张图片和正文第一张图片的方法

技术教程 2年前 (2018) Mgo
0


现在制作主题,喜欢在首页放上图片展示或图文形式,在emlog主题制作中要如何才能实现这种效果?

下面介绍了几种常用的方法,抛砖引玉,大家一起共同探导一下。



1、直接读取附件图片

原理:这种方法就是直接判断附件的类型,并获取第一张图片的信息;如果没有图片附件,则显示默认图片或随机图片。



方法:先将获取附件图片的方法定义成一个函数,放在模板 【站长聚集地首发】文件module.php中(代码如下),位置随便。

<?php //获取文章缩略图,先是自定义指定,然后是查找附件图片,最后是随机图片 function sheli_fjimg($logid){ $db = MySql::getInstance(); $thum_pic = EMLOG_ROOT.'/thumpic/'.$logid.'.jpg'; if (is_file($thum_pic)) { $thum_url = BLOG_URL.'thumpic/'.$logid.'.jpg'; }else{ $sqlimg = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$logid." AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png') ORDER BY `aid` ASC LIMIT 0,1"; //    die($sql); $img = $db->query($sqlimg); while($roww = $db->fetch_array($img)){ $thum_url=BLOG_URL.substr($roww['filepath'],3,strlen($roww['filepath'])); }if (empty($thum_url)) { srand((double)microtime()*1000000); $randval = rand(0,9); $thum_url = BLOG_URL.'content/templates/shuyong_net-sf/images/shuyong_net/'.$randval.'.jpg';} //随机图片路径 }echo $thum_url;} ?>

然后在你需要的地方,emlog一般是在log_list.php(当然也可以在你自己的文件)相应的地方插入下面代码:<img src="<?php sheli_fjimg($value['logid']); ?>" >

优缺点:优点:上传图片无论是否插入了正文,都可以读取第一张显示。

缺点:一是只能读取上传的第一张图片。



2.读取正文的第一张图片

原理:直接从正文代码——包括注释代码——中获取第一张图片的信息;如果正文中没有图片,则显示默认图片或者随机图片。

方法:先将获取附件图片的方法定义成一个函数,放在模板 【站长聚集地首发】文件module.php中(代码如下),位置随便。

<?php //获取文章中第一张图片,如果没有就调用随机图片 function sheli_zwimg($str){ preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $str, $match); if(!empty($match[1])){echo $match[1][0];}else{ echo TEMPLATE_URL . 'images/shuyong_net_wzimg/'.rand(1,20).'.jpg'; //随机图片路径及图片命名1.jpg……20.jpg }} ?>

在你需要的地方,emlog一般是在log_list.php(当然也可以在你自己的文件)相应的地方插入下面代码: <img src="<?php sheli_zwimg($value['content']); ?>"


以下代码为调用正文第一张图片,没有图片则自定义,也可以空白,直接放在你要log_list.php对应位置即可。

<?php $imgsrc = preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]*>|is", $value['content'], $img);$imgsrc = !empty($img[1]) ? $img[1][0] : ''; ?><?php if($imgsrc): ?><img src="<?php echo $imgsrc; ?>"><?php else: ?><img src="<?php echo TEMPLATE_URL;?>images/news.jpg" alt="暂无图片" /><?php endif; ?>

版权声明:Mgo 发表于 2018-10-23 16:49:46。
转载请注明:Emlog调用附件第一张图片和正文第一张图片的方法 | 站长聚集地

暂无评论

暂无评论...