ホームページ  >  記事  >  バックエンド開発  >  dedecms バッチで最初の画像のコードをサムネイルとして抽出 (記事 + ソフトウェア)_PHP チュートリアル

dedecms バッチで最初の画像のコードをサムネイルとして抽出 (記事 + ソフトウェア)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:43:27836ブラウズ

具体的な実装コードは以下の通りです。 以下に簡単に説明します。

コードをコピーします コードは次のとおりです:

/*
1. データテーブル名の接頭辞がデフォルトで dede_
3 であることに注意してください。必ず最初にバックアップしてください。データベースまたはバックアップ dede_archives テーブルに生じた損失については責任を負いません
*/
//データベース接続設定
$ip = "localhost" //Address
$user = "jb51"; //ユーザー名
$pw = " www.jb51.net"; //パスワード
$db = "jb51" //テーブル名
$conn=mysql_connect ($ip,$user,$pw); db);
mysql_query("set names gbk"); //エンコーディングを GBK に設定します

//開始! 本体データを取得します
function body($id){
$exec="select * from dede_addonsoft where aid = '" .$id."'";
$result=mysql_fetch_object($result);
$id =$id; //終了!ボディデータの取得

//開始!変数の最初の画像アドレスを抽出
function bodyimg($obj) {

if(isset($obj)){
if ( preg_match( "", $obj, $regs ) ) { //正規表現を使用して最初の画像アドレスを取得します
return $obj = $regs[1] ;
} else {
echo "Erro :No image address!
";
return $obj = 1;
}

}
//終了! //アーカイブの変更を開始し、取得した 1 つの画像アドレスを挿入します
function changearchives($pic,$id) {
$sql="UPDATE `dede_archives`
SET `litpic` = '".$pic."'
WHERE `id ` = '".$id."' ";
$result=mysql_query($sql);
if($result==1) echo "データの変更が成功しました!
";
else echo "データの変更に失敗しました!
";
}
//アーカイブの変更を終了し、取得した画像アドレスを挿入します

//データテーブルの内容を表示します
$exec="select * dede_archives より、typeid in(494,495,496,497,498,499,500,501,502,503,504,374,375,376,377,378,379,488) および litpic = ''"; //channel='1' は、記事チャンネルでも typeid='' を使用できることを意味します
$result=mys ql _query($exec); //列を指定します。 ID ですが、それは最小のカテゴリの ID のみです。litpic = '' は、サムネイル アドレスが空であることを意味します
while($rs=mysql_fetch_object($result))
{

$id = $rs->ID; echo $id." ";
$body = body($id) // 関数を呼び出して本文のコンテンツを取得します
$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 であることに注意してください。他のバージョンも適応する必要があります。複数のテスト(バックアップ前提)



http://www.bkjia.com/PHPjc/320736.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/320736.html

技術記事

具体的な実装コードは以下の通りです。 以下に簡単に説明します。 コードをコピーします。コードは次のとおりです: ?php /* 1. データベース接続を構成します。 2. データ テーブル名の接頭辞に注意してください。デフォルトは dede_ 3....

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。