dede php代码 图片,dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)

用了dedecms自带的缩略图批量获取,因为代码好像是只适用于文字,对于软件就不能了,或两者都不能。从网站看到了这段代码,对于dedecms 5.1是没问题的。

具体的实现代码,如下:下面会给简单的说明。

/*

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( "", $obj, $regs ) ) { //使用正则获取第一幅图像地址

return $obj = $regs[1] ;

} else {

echo "Erro:没有图片地址!
";

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 "修改数据成功!
";

else echo "修改数据失败!
";

}

//结束 修改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);

?>

我也是刚刚学PHP 上面的代码也是东拼西凑起来的 做了详细的注释 初学者也可以来看看

因为上面的代码不能自动的获取下一级目录,所以比较手工添加目录id,常用的语句有。

$exec="select * from dede_archives where typeid in(1,2,3) and litpic = ''"; //channel='1' 即文章频道 也可以使用typeid=''

上面的代码是获取typeid为 1和2和3的数据。

如果执行修改一个id可以用下面的语句

$exec="select * from dede_archives where typeid='1' and litpic = ''";

如果是频道的可以用

$exec="select * from dede_archives where channel='1'  and litpic = ''";

注意先备份,要不就不要随便测试了,注意是 dedecms5.1的版本,其它的版本应该也适应。多测试(备份的前提下。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值