<?
php
/*
1. 配置好你的数据库连接
2. 注意数据表名的前缀 默认为dede_
3. 一定要先备份你的数据库 或备份dede_archives表 如产生损失本人概不负责
*/
// 数据库连接设置
$ip = " localhost " ; // 地址
$user = " root " ; // 用户名
$pw = "" ; // 密码
$db = " dedecmsv4 " ; // 表名
$conn = mysql_connect ( $ip , $user , $pw );
mysql_select_db ( $db );
mysql_query ( " set names gbk " ); // 设置编码为 GBK
//开始!获取body数据
function body( $id ){
$exec = " select * from dede_addonarticle where aid = ' " . $id . " ' " ;
$result = mysql_query ( $exec );
$rs = mysql_fetch_object ( $result );
$id = $rs -> body ;
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 channel='1' 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 );
?>
/*
1. 配置好你的数据库连接
2. 注意数据表名的前缀 默认为dede_
3. 一定要先备份你的数据库 或备份dede_archives表 如产生损失本人概不负责
*/
// 数据库连接设置
$ip = " localhost " ; // 地址
$user = " root " ; // 用户名
$pw = "" ; // 密码
$db = " dedecmsv4 " ; // 表名
$conn = mysql_connect ( $ip , $user , $pw );
mysql_select_db ( $db );
mysql_query ( " set names gbk " ); // 设置编码为 GBK
//开始!获取body数据
function body( $id ){
$exec = " select * from dede_addonarticle where aid = ' " . $id . " ' " ;
$result = mysql_query ( $exec );
$rs = mysql_fetch_object ( $result );
$id = $rs -> body ;
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 channel='1' 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 上面的代码也是东拼西凑起来的 做了详细的注释 初学者也可以来看看