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 程序员也要学会使用“异常”
Jun 16 PHP
PHP比你想象的好得多
Nov 27 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
PHP图片水印类的封装
Jul 06 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
Yii2框架自定义验证规则操作示例
Feb 08 PHP
实例分析10个PHP常见安全问题
Jul 09 PHP
php使用yield对性能提升的测试实例分析
Sep 19 PHP
PHP ob缓存以及ob函数原理实例解析
Nov 13 PHP
PHP设计模式之命令模式示例详解
Dec 20 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
PHP分页效率终结版(推荐)
2013/07/01 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
php实现无限级分类
2014/12/24 PHP
php header函数的常用http头设置
2015/06/25 PHP
php微信开发自定义菜单
2016/08/27 PHP
PHP培训要多少钱
2017/06/06 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
python实现机器人卡牌
2019/10/06 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
python爬虫请求头的使用
2020/12/01 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
给孩子的新年寄语
2014/04/08 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
放假通知
2015/04/14 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript
服务器nginx权限被拒绝解决案例
2022/09/23 Servers