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


Posted in PHP onOctober 29, 2009

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

<?php 
/* 
1. 配置好你的数据库连接 
2. 注意数据表名的前缀 默认为dede_ 
3. 一定要先备份你的数据库 或备份dede_archives表 如产生损失本人概不负责 
*/ 
//数据库连接设置 
$ip = "localhost"; //地址 
$user = "3water"; //用户名 
$pw = "3water.com"; //密码 
$db = "3water"; //表名 
$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的版本,其它的版本应该也适应。多测试(备份的前提下。)

PHP 相关文章推荐
PHP实现图片简单上传
Oct 09 PHP
一个PHP的String类代码
Apr 20 PHP
PHP 函数学习简单小结
Jul 08 PHP
队列在编程中的实际应用(php)
Sep 04 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
ThinkPHP连接数据库的方式汇总
Dec 05 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
php商品对比功能代码分享
Sep 24 PHP
PHP程序员不应该忽略的3点
Oct 09 PHP
PHP对象相关知识总结
Apr 09 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
PHP 简单日历实现代码
Oct 28 #PHP
php 网页游戏开发入门教程一(webgame+design)
Oct 26 #PHP
php 文件上传系统手记
Oct 26 #PHP
php后台程序与Javascript的两种交互方式
Oct 25 #PHP
PHP 数组教程 定义数组
Oct 23 #PHP
PHP 判断变量类型实现代码
Oct 23 #PHP
PHP 变量类型的强制转换
Oct 23 #PHP
You might like
我的论坛源代码(一)
2006/10/09 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
详解PHP归并排序的实现
2016/10/18 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
JPA的特点
2014/10/25 面试题
药物学专业学生的自我评价
2013/10/27 职场文书
公司会计岗位职责
2014/02/13 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL