温馨提醒
如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢
本文最后更新于2024年1月1日,已超过 180天没有更新
方法一
将下面的代码放入Functions.php文件:
function thumb($cid) { if (empty($imgurl)) { $rand_num = 10; //随机图片数量,根据图片目录中图片实际数量设置 if ($rand_num == 0) { $imgurl = "随机图片存放目录/0.jpg"; //如果$rand_num = 0,则显示默认图片,须命名为"0.jpg",注意是绝对地址 }else{ $imgurl = "随机图片存放目录/".rand(1,$rand_num).".jpg"; //随机图片,须按"1.jpg","2.jpg","3.jpg"...的顺序命名,注意是绝对地址 } } $db = Typecho_Db::get(); $rs = $db->fetchRow($db->select('table.contents.text') ->from('table.contents') ->where('table.contents.type = ?', 'attachment') ->where('table.contents.parent= ?', $cid) ->where('table.contents.order= ?', 2) ->order('table.contents.cid', Typecho_Db::SORT_ASC) ->limit(1)); $img = unserialize($rs['text']); if (empty($img)){ echo $imgurl; } else{ echo '你的博客地址'.$img['path']; } }
然后在想在调用的文件里放入以下代码,这里我放入的是首页位置。
前端输出显示:<?php echo thumb($this->cid); ?>
上面的代码里面
->where('table.contents.order= ?',
这里的2指定是第二个附件数据
如果控制输出第几个,或者多张图顺序的时候,从这里入手应该就可以了
方法二
同样也是将以下代码放入Functions.php文件中:
function thumbside($con) { preg_match_all('/\<img.*?src\=\"(.*?)\"[^>]*>/i', $con, $thumbUrl); //通过正则式获取图片地址 preg_match_all('/\!\[.*?\]\((http(s)?:\/\/.*?(jpg|png))/i', $con, $patternMD); //通过正则式获取图片地址 preg_match_all('/\[.*?\]:\s*(http(s)?:\/\/.*?(jpg|png))/i', $con, $patternMDfoot); if(count($thumbUrl[0])>1){ return $thumbUrl[1][1]; //当找到一个src地址的时候,输出缩略图 }else if(count($patternMD[0])>1){ return $patternMD[1][1]; }else if(count($patternMDfoot[0])>1){ return $patternMDfoot[1][1]; }else{ $rand_num = 5; return Helper::options()->siteUrl."usr/themes/pure/randimg/".rand(1,$rand_num).".jpg"; } }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论0+