1. 程式人生 > >dedecms不生成縮圖提取第一張圖片最為縮圖

dedecms不生成縮圖提取第一張圖片最為縮圖

<?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==1echo"修改資料成功!<br>"
elseecho"修改資料失敗!<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);
?>