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 相关文章推荐
杏林同学录(六)
Oct 09 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
php使用curl访问https示例分享
Jan 17 PHP
php针对cookie操作的队列操作类实例
Dec 10 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
php构造函数与析构函数
Apr 23 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
PHP性能测试工具xhprof安装与使用方法详解
Apr 29 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 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
5.PHP的其他功能
2006/10/09 PHP
PHP中基本符号及使用方法
2010/03/23 PHP
PHP多文件上传类实例
2015/03/07 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
JavaScript中的其他对象
2008/01/16 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
py中的目录与文件判别代码
2008/07/16 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
使用django实现一个代码发布系统
2019/07/18 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
迟到检讨书800字
2014/01/13 职场文书
品牌服务方案
2014/06/03 职场文书
世博会口号
2014/06/20 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
行政文员岗位职责
2015/02/04 职场文书
公司宣传语大全
2015/07/13 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
Python编程super应用场景及示例解析
2021/10/05 Python
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫