现在的位置: 首页 > php学习 > 正文

php 自动 获取 第一张图 缩略图

2014年10月08日 php学习 ⁄ 共 2041字 ⁄ 字号 暂无评论 ⁄ 阅读 1,454 次

php 自动 获取 第一张图 缩略图.

方法一:

//截取内容中第一张图片函数

function catch_that_image() {

global $post, $posts;

ob_start();

ob_end_clean();

preg_match('/<img\s[^<>]*?src=[\'\"]([^\'\"<>]+?)[\'\"][^<>]*?>/i', $post->post_content, $matche);

if($matche[1])

return '<div class="content-img-div"><a href="' . get_permalink() . '" target="_blank"><img src="' . $matche[1] . '" alt="' . get_the_title() . '" title="' . get_the_title() . '" class="content-img" /></a></div>';

//否则取默认图片

return '<div style="display:none"></div>';

}

而如果想在文章中没有图片的情况下显示一张默认图的话,可以将最后一句

return '<div style="display:none"></div>';

改为:

return '<div class="content-img-div"><img src="默认图片地址"></div>';

原文地址:http://www.sky4ever.com/automatically-extracts-shows-the-first-picture-in-the-article-as-the-article-thumbnails/

方法二:

<?php
/*
1. 配置好你的数据库连接
2. 注意数据表名的前缀 默认为dede_
3. 一定要先备份你的数据库 或备份dede_archives表 如产生损失本人概不负责
*/
//数据库连接设置
$ip = "localhost"; //地址
$user = "jb51"; //用户名
$pw = "www.jb51.net"; //密码
$db = "jb51"; //表名
$conn=mysql_connect ($ip,$user,$pw);
mysql_select_db($db);
mysql_query("set names gbk"); //设置编码为 GBK
//开始!获取body数据
function body($id){
$exec="select * from dede_addonsoft where aid = '".$id."'";
$result=mysql_query($exec);
$rs=mysql_fetch_object($result);
$id = $rs->introduce ;
return $id =$id ;
}
//结束!获取body数据
//开始!提取变量中第一个图片地址
function bodyimg($obj) {
if(isset($obj)){
if ( preg_match( "<img.*src=[\"](.*?)[\"].*?>", $obj, $regs ) ) { //使用正则获取第一幅图像地址
return $obj = $regs[1] ;
} else {
echo "Erro:没有图片地址!<br>";
return $obj = 1 ;
}
}

}
//结束!提取变量中第一个图片地址
//开始 修改rchives,插入获取的图像地址
function changearchives($pic,$id) {
$sql="UPDATE `dede_archives`
SET `litpic` = '".$pic."'
WHERE `id` = '".$id."'";
$result=mysql_query($sql);
if($result==1) echo "修改数据成功!<br>";
else echo "修改数据失败!<br>";
}
//结束 修改rchives,插入获取的图像地址
//显示数据表内容
$exec="select * from dede_archives where typeid in(494,495,496,497,498,499,500,501,502,503,504,374,375,376,377,378,379,488) and litpic = ''"; //channel='1' 即文章频道 也可以使用typeid=''
$result=mysql_query($exec); //指定栏目ID但只能是最小分类的ID, litpic = '' 意为缩略图地址为空
while($rs=mysql_fetch_object($result))
{
$id = $rs->ID;
echo $id." ";
$body = body($id); //调用函数获取 body内容
$pic = bodyimg($body); //调用函数获取 body里面的第一张图片地址
if ($pic<>1){
changearchives($pic,$id); //调用函数插入获取的地址
}
}
mysql_close($conn);
?>

猜你喜欢

给我留言

留言无头像?