红穆笔记
首頁 程序筆記 帝國cms動態模式下,千萬級文章定時發佈,無需人工干預的方法
程序筆記 帝國cms

帝國cms動態模式下,千萬級文章定時發佈,無需人工干預的方法

帝国cms动态模式下,千万级文章定时发布,无需人工干预的方法

之前研究帝國cms的審覈功能,不知道什麼原因,火車頭髮布文章到帝國cms,設置是未審覈,但是不一會又自動審覈了,總之麻煩!

爲了避免過多的浪費時間,於是就沒有去仔細研究!

最近又需要用到審覈功能,這下就頭疼了!

上千萬文章,火車頭髮布,發佈到待審覈很麻煩!

於是我研究一番,採用了另外一種思路!

我不用待審覈功能,但是卻能實現網站每天顯示最新文章!

思路解析

1.帝國cms的模版,我們在生成標籤的時候,設置一下發布時間!

我們從發佈時間下手,發佈時間小於當前時間,那麼就調用。

比如我設置一篇文章發佈時間是明天,那麼標籤就不調用這篇文章,需要到明天指定時間才調用!

附加SQL條件:newstime <= '.time().'

如果不想每次都加上SQL條件,可以參考這篇文章:《帝國cms修改PHP,直接設置小於文章發佈時間(newstime)的文章調用條件

ad1a1b7183102738

2.利用PHP修改帝國數據表裏面的發佈時間,爲了上千萬文章全部能設置完時間,我寫了兩個PHP!

第一個PHP負責讀取整表的文章,同時生成好發佈時間。

第二個PHP負責將設置數據庫裏面文章的定時發佈時間,每次修改100個!

這樣可以很有效率的完成時間的設定,並且不會給服務器造成大負擔。

第一個PHP代碼

🔒 隱藏內容:評論後查看

<?php
require('e/class/connect.php');        //引入數據庫配置文件和公共函數文件
require('e/class/db_sql.php');        //引入數據庫操作文件
$link=db_connect();                //連接MYSQL
$empire=new mysqlquery();        //聲明數據庫操作類
$sql=$empire->query("select id,title from {$dbtbpre}ecms_news");        //查詢新聞表最新10條記錄

$num = 10;
$i = 1;
$n = 1;
$s = 1;
$newstime = strtotime("2023-8-21 6:20:30");
while($r=$empire->fetch($sql))        //循環獲取查詢記錄
{
    $br = '';
    $time = $num;
    if($num==1){
        if($s==0){
            $s = 1; 
            $n++;
        }
        $num = 10 + $n;
        $br = "<hr style='color:red'>";
        $s--;
        $newstime+=86400;
    }
    
    echo"{$i}標題:".$r['title']."-----{$time}---{$newstime}---".date("Y-m-d H:i:s",$newstime)."<br>{$br}";
    //  echo"{$i}--".$r['id']."--{$time}|{$br}";
    // echo $sqlUp = "UPDATE `phome_ecms_news` SET `newstime` = '{$newstime}' WHERE `id` = {$r['id']};";
    $array[] = array($r['id'],$newstime);
    $empire->query1($sqlUp);
    $i++;
    $num--;
}

file_put_contents("定時發佈.json", json_encode($array));

db_close();                        //關閉MYSQL鏈接
$empire=null;                        //注消操作類變量
?>

第二個PHP代碼

🔒 隱藏內容:評論後查看

<?
$jsonFile = "定時發佈.json";
$array = json_decode(file_get_contents($jsonFile),true);

if(empty($array)){
    die("已發佈完成");
}

function getSequentialElements(&$array, $quantity) {
    // 檢查數組長度和需求數量
    $arrayLength = count($array);
    if ($arrayLength <= $quantity) {
        $result = $array;
        $array = array_slice($array, $arrayLength);
        return $result; // 數組長度小於或等於需求數量,直接返回整個數組
    }

    // 從原數組中順序取出指定數量的元素,並將其從原數組中刪除
    $result = array_slice($array, 0, $quantity);
    $array = array_slice($array, $quantity);

    return $result;
}

$randomElements = getSequentialElements($array, 100);

require('e/class/connect.php');        //引入數據庫配置文件和公共函數文件
require('e/class/db_sql.php');        //引入數據庫操作文件
$link=db_connect();                //連接MYSQL
$empire=new mysqlquery();        //聲明數據庫操作類

$n=1;
foreach($randomElements as $v){
    $sql = "UPDATE `phome_ecms_news` SET `newstime` = '{$v[1]}' WHERE `id` = {$v[0]};";
    if($empire->query($sql)){
        echo "{$n}成功設置定時發佈,文章ID:$v[0],發佈時間:".date("Y-m-d H:i:s",$v[1])."<br>";
    
        $n++;
    }
}

file_put_contents($jsonFile,json_encode($array));

db_close();                        //關閉MYSQL鏈接
$empire=null;                        //注消操作類變量
?>

<meta http-equiv="refresh" content="0;">

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

帝国CMS数据库语句&amp;SQL语句格式

帝國CMS數據庫語句&amp;SQL語句格式 程序筆記 帝國cms

帝國CMS擴展SQL程序編寫介紹,帝國CMS數據庫語句&SQL語句格式基本範例:說明:下面例子都是以PHP文件放在系統根目錄爲基準。例1:連接MYSQL程序。(a.php)&lt;?php require('e/class/connect.php'); //引入數據庫配置文件和公共函數文件 requ…
👁 351
帝国CMS获取系统COOKIE变量函数getcvar()

帝國CMS獲取系統COOKIE變量函數getcvar() 程序筆記 帝國cms

取得系統COOKIE變量函數語法:getcvar($var,$ecms)說明:$var:爲變量名$ecms:0爲設置前臺COOKIE變量,1爲設置後臺COOKIE變量。此參數可省略,默認爲0。使用範例:getcvar('mlusername'),取得前臺登陸會員的用戶名getcvar('loginu…
👁 296
帝国CMS灵动标签调用字段大全

帝國CMS靈動標籤調用字段大全 程序筆記 帝國cms

將所有支持靈動標籤調用的字段收集歸類帝國CMS靈動標籤: [e:loop={欄目ID/專題ID,顯示條數,操作類型,只顯示有標題圖片,附加SQL條件,顯示排序}] 模板代碼內容 [/e:loop]調用時間:&lt;?=date('m-d',$bqr[newstime])?&gt; &lt;?=dat…
👁 3749

推薦閱讀

(自适应移动端)棕色家具装修pbootcms网站模板 响应式家具建材类网站源码下载 0868

(自適應移動端)棕色傢俱裝修pbootcms網站模板 響應式傢俱建材類網站源碼下載 0868 實用收藏 pbootcms模板

一款棕色傢俱裝修與建材類PbootCMS響應式網站模板,支持移動端訪問。設計風格溫暖木質,適合展示傢俱產品、裝修案例及建材貿易。有助於傢俱建材企業在線上展示品牌,吸引裝修公司與消費者。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s5.c…
👁 41
(自适应手机端)HTML5蓝色宽屏简洁环保科技能源pbootcms企业网站模板 响应式蓝色集团通用网站源码下载 0201

(自適應手機端)HTML5藍色寬屏簡潔環保科技能源pbootcms企業網站模板 響應式藍色集團通用網站源碼下載 0201 實用收藏 pbootcms模板

本套自適應手機端的HTML5藍色寬屏環保科技能源PbootCMS企業模板,採用響應式設計。設計風格現代科技,適合環保能源或集團企業展示品牌形象與業務板塊。是企業搭建國際化、科技感品牌官網的優質選擇。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:ww…
👁 69
mysql数据库,存储时间类字段,应该注意什么?用什么类型好!

mysql數據庫,存儲時間類字段,應該注意什麼?用什麼類型好! 語言筆記 mySql

當存儲時間類字段時,應該考慮以下幾個方面:精度:需要確定存儲的時間精度,例如:年、月、日、時、分、秒、毫秒等。時區:需要考慮存儲的時區問題,例如:存儲本地時間還是UTC時間等。數據長度:需要注意所選類型的數據長度是否足夠存儲所需數據。根據上述方面的考慮,可以選擇以下幾種適合存儲時間類字段的數據類型:…
👁 177
营销型环保贝壳粉生态涂料网站模板 1072

營銷型環保貝殼粉生態塗料網站模板 1072 實用收藏 易優模板

此套eyoucms模板適用於營銷型環保貝殼粉生態塗料企業,設計風格綠色環保,能夠展示貝殼粉塗料產品、塗裝效果及工程案例。有助於塗料企業在線上推廣綠色建材,吸引家裝與工程客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優…
👁 58
响应式钣金设备制造网站模板 0373

響應式鈑金設備製造網站模板 0373 實用收藏 易優模板

此套eyoucms響應式模板適用於鈑金設備製造行業,設計風格專業工業,能夠展示鈑金設備產品、製造工藝、技術參數及工業應用。有助於鈑金製造企業在線上展示產品,吸引工業客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CM…
👁 40
(自适应手机端)蓝色个人技术博客网站pbootcms模板 响应式宽屏大气的新闻博客网站源码下载 0869

(自適應手機端)藍色個人技術博客網站pbootcms模板 響應式寬屏大氣的新聞博客網站源碼下載 0869 實用收藏 pbootcms模板

一款藍色個人技術博客PbootCMS響應式網站模板,設計風格寬屏大氣,專業簡潔,適合技術人員分享代碼、技術文章及個人思考。有助於技術博主在線上建立個人品牌與行業影響力。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s5.cn相關文章Pbo…
👁 49