当前位置:首页 » Emlog教程 » Emlog调用附件第一张图片和正文第一张图片的方法

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

现在制作主题,喜欢在首页放上图片展示或图文形式,在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; ?>
End
关键词: Emlog代码
温馨提示:如果您对本文有疑问,请在本页留言即可!!!
觉得很赞 (5)付款方式
X
付款方式:
  • 微信
  • 支付宝
  • QQ红包

使用微信扫一扫
blogger
    发布日期:2014-09-19   所属类别:Emlog教程   浏览:9218次   评论:5次
    本文地址:https://www.shuyong.net/iemlog/431.html [ 百度已收录 ]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!

留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

填写好QQ号码,任点空白处自动获取

昵称

邮箱

网址

3楼、时光γ [回复该留言]
2021-08-29 14:02
你好,请问首页怎么调用附件第一张图片缩略图
舍力(博主) [回复该留言]
2021-08-31 08:09
@时光γ:按这个教程做就可以实现了的
2楼、溡洸荏苒 [回复该留言]
2018-04-28 15:58
你好,最近做emlog熊掌号改造需要调用文章内图片了,想咨询下获取文章内第一张图片地址的是哪一段代码,
舍力 [回复该留言]
2018-04-29 08:45
@溡洸荏苒:整段代码
1楼、大片 [回复该留言]
2016-01-01 12:45
$db = MySql::getInstance();是什么意思

个人资料

舍力

博主:舍力

Emlog交流群

    用心做好每一件事!!!

博客统计

  • 文章数量:1121篇
  • 文章评论:3498条
  • 总访问量:7593639次
  • 微语数量:81条
  • 在线人数:1人
  • 本站运行:8年5月3天
  • 估计博主很忙,已经很久没更新了!
Q2 虚位以待
Copyright © 2022 舍力博客 版权所有   粤ICP备11021420号
基于宝塔面板,数据存储于阿里云ECS
Powered by emlog / &Author 舍力博客.