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 相关文章推荐
phpinfo 系统查看参数函数代码
Jun 05 PHP
php join函数应用
May 04 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
php使用session二维数组实例
Nov 06 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
PHP的mysqli_stmt_init()函数讲解
Jan 24 PHP
PHP常见字符串操作函数与用法总结
Mar 04 PHP
laravel按天、按小时,查询数据的实例
Oct 09 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 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
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
php数据访问之查询关键字
2016/05/09 PHP
jquery的颜色选择插件实例代码
2008/10/02 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
js获取url传值的方法
2015/12/18 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
详解Python中expandtabs()方法的使用
2015/05/18 Python
python 容器总结整理
2017/04/04 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
python zip()函数的使用示例
2020/09/23 Python
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
九州传奇上机题
2014/07/10 面试题
人力资源部经理助理岗位职责
2014/03/04 职场文书
股权转让意向书
2014/04/01 职场文书
班主任评语大全
2014/04/26 职场文书
大学班级文化建设方案
2014/05/06 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
地球一小时活动总结
2015/02/27 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android