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 相关文章推荐
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
PHP 数组排序方法总结 推荐收藏
Jun 30 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
php使用mkdir创建多级目录入门例子
May 10 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
PHP+Javascript实现在线拍照功能实例
Jul 18 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
ThinkPHP 5.x远程命令执行漏洞复现
Sep 23 PHP
PHP的重载使用魔术方法代码实例详解
Feb 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
对javascript和select部件的结合运用
2006/10/09 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
php实现简易计算器
2020/08/28 PHP
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
python输出数学符号实例
2020/05/11 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
开学典礼决心书
2014/03/11 职场文书
教师对学生的寄语
2014/04/03 职场文书
医院搬迁方案
2014/06/14 职场文书
七一建党节演讲稿
2014/09/11 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
委托书的样本
2015/01/28 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
会议主持词通用版
2019/04/02 职场文书
如何Python使用re模块实现okenizer
2022/04/30 Python