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

2015-01-24信息快讯网

用了dedecms自带的缩略图批量获取,因为代码好像是只适用于文字,对于软件就不能了,或两者都不能。从网站看到了这段代码,对于dedecms 5.1是没问题的。

具体的实现代码,如下:下面会给简单的说明。
<?php 
/* 
1. 配置好你的数据库连接 
2. 注意数据表名的前缀 默认为dede_ 
3. 一定要先备份你的数据库 或备份dede_archives表 如产生损失本人概不负责 
*/ 
//数据库连接设置 
$ip = "localhost"; //地址 
$user = "jb51"; //用户名 
$pw = "www.jb51.net"; //密码 
$db = "jb51"; //表名 
$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与C#分别格式化文件大小的代码
PHP读取ACCESS数据到MYSQL的代码
谷歌音乐搜索栏的提示功能php修正代码
php 随机排序广告的实现代码
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
PHP 调试工具Debug Tools
php debug 安装技巧
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
使用NetBeans + Xdebug调试PHP程序的方法
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Zend Studio (eclipse)使用速度优化方法
php expects parameter 1 to be resource, array given 错误
PHP中uploaded_files函数使用方法详解
DEDE采集大师官方留后门的删除办法
php下正则来匹配dede模板标签的代码
dedecms系统的广告设置代码 基础版本
DedeCMS 核心类TypeLink.class.php摘要笔记
DedeCMS dede_channeltype表字段注释
php 显示指定路径下的图片
PHP 简单日历实现代码
php 网页游戏开发入门教程一(webgame+design)
PHP 判断变量类型实现代码
PHP 处理图片的类实现代码
Wordpress php 分页代码
php 3行代码的分页算法(求起始页和结束页)
使用zend studio for eclipse不能激活代码提示功能的解决办法
php 服务器调试 Zend Debugger 的安装教程
php download.php实现代码 跳转到下载文件(response.redirect)
PHP 执行系统外部命令 system() exec() passthru()
php mysql Errcode: 28 终极解决方法
php Undefined index的问题
php 无限级 SelectTree 类
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
php array_intersect()函数使用代码
Dedecms常用函数解析
中国站长站 For Dede4.0 采集规则
dede全站URL静态化改造[070414更正]
动易数据转成dedecms的php程序
手把手教你使用DedeCms V3的在线采集图文教程
©2014-2024 dbsqp.com