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

时间:2024-04-28 09:45:40 

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


<?php
/*
1. 配置好你的数据库连接
2. 注意数据表名的前缀 默认为dede_
3. 一定要先备份你的数据库 或备份dede_archives表 如产生损失本人概不负责
*/
//数据库连接设置
$ip = "localhost"; //地址
$user = "jb51"; //用户名
$pw = "www.aspxhome.com"; //密码
$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);
?>


我也是刚刚学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的版本,其它的版本应该也适应。多测试(备份的前提下。)

标签:dedecms,批量提取,缩略图
0
投稿

猜你喜欢

  • 在网页设计中,如何使用图标来支持内容?[译]

    2009-03-16 16:35:00
  • python实现挑选出来100以内的质数

    2023-03-03 16:32:04
  • Innodb中mysql快速删除2T的大表方法示例

    2024-01-22 09:14:21
  • python Task在协程调用实例讲解

    2021-06-28 21:39:32
  • pytorch中torch.topk()函数的快速理解

    2023-09-07 10:21:52
  • SQL Server 2005附加数据库时Read-Only错误的解决方案

    2024-01-25 03:13:10
  • Python实现将HTML转成PDF的方法分析

    2023-06-19 18:59:37
  • 详谈javascript异步编程

    2023-08-23 17:49:53
  • videocapture库制作python视频高速传输程序

    2023-08-22 14:47:48
  • Python实现计算两个时间之间相差天数的方法

    2022-11-09 06:04:59
  • 从零开始做一个pagination分页组件

    2024-04-29 13:25:13
  • 解决keras backend 越跑越慢问题

    2022-05-27 17:36:58
  • Python调用百度AI实现颜值评分功能

    2023-07-30 22:53:40
  • 使用python将最新的测试报告以附件的形式发到指定邮箱

    2022-08-24 14:59:16
  • mysql创建数据库,添加用户,用户授权实操方法

    2024-01-14 18:16:58
  • JS实现判断有效的数独算法示例

    2024-02-25 08:22:15
  • asp如何验证日期输入是否正确?

    2010-06-10 18:38:00
  • ORACLE常见错误代码的分析与解决(一)

    2010-08-02 13:20:00
  • Python函数式编程指南:对生成器全面讲解

    2022-09-26 05:56:17
  • mysql数据库索引损坏及修复经验分享

    2024-01-16 11:22:43
  • asp之家 网络编程 m.aspxhome.com