步驟:
1.因為找了很久沒有找到ECMS讀取文本的函數(shù),而且每一條數(shù)據(jù)都要查詢和寫入一次數(shù)據(jù)庫,最好還是做一個本地環(huán)境,用自己的電腦來處理.我用的是APMServ,
2.先備份數(shù)據(jù)庫,保存到本地,備份帝國存文本的目錄 /d/txt/ 到本地,目錄最好也按照網(wǎng)站上的層次放置,如有變化,可以修改下面代碼中的路徑.
3.用帝國備份網(wǎng)恢復到本機一個數(shù)據(jù)庫中,如代碼中的babyucan
4.修改下面代碼中的相關(guān)數(shù)據(jù)庫配置.
5.運行提供的簡易轉(zhuǎn)換程序
6.提示處理完畢后,使用帝國備份王備份所處理的數(shù)據(jù)表,我寫的代碼中處理的是phome_ecms_news,然后把處理好的數(shù)據(jù)備份上傳,恢復數(shù)據(jù)即可.
程序只針對newstext字段處理,所以處理完后只備份新聞數(shù)據(jù)表就可以了.
代碼內(nèi)容如下,大家可以先測試一下.
--------------------------------------------------------------------------------
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
@set_time_limit(10000);//設(shè)置超時時間,越長越好
//********************* 程序開始 ********************
$kai = $_POST['kai'];
//配置數(shù)據(jù)庫參數(shù)
mysql_connect("localhost","root","");//本機數(shù)據(jù)庫用戶名和密碼
mysql_select_db("babyucan");//本機數(shù)據(jù)庫名,
mysql_query("set names 'gb2312'");
//數(shù)據(jù)表第一條信息的ID
$a=mysql_query("select id from phome_ecms_news order by id asc limit 1");
$num1= mysql_result($a,0);
//數(shù)據(jù)表最后一條信息的ID
$b=mysql_query("select id from phome_ecms_news order by id desc limit 1");
$num2= mysql_result($b,0);
if ($kai==1){
//循環(huán)逐條處理
for($i=$num1;$i<$num2;$i++){
$sql="select newstext from phome_ecms_news where id=".$i;
if($result=mysql_query($sql)){
$r=mysql_fetch_object($result);
$text=$r->newstext;
//判斷是否是存文本的信息
if (strlen($text)==42 && preg_match("/^[0-9a-zd/]*$/i",$text)){
$url="d/txt/".$text.".php";//因為帝國存文本中有exit中斷,所以需要用讀文件的方法去讀取代碼,文本的路徑要正確,存在本文件所以目錄下的子目錄"d/txt/"下
$temp=file($url);
//echo substr($temp[0],12);
//過濾帝國存文本生成的exit中斷代碼,使用文本中的內(nèi)容替換數(shù)據(jù)庫中相應的數(shù)據(jù)值
$wurl="update phome_ecms_news set newstext='".substr($temp[0],12)."' where id=".$i;
$write=mysql_db_query("babyucan",$wurl);
}
}
}
echo "OK,搞定!";
}
?>
<form method="post" action="index.php">
<input type=submit name=ok value="從<?=$num1?>開始處理,到<?=$num2?>結(jié)束.點擊開始處理">
<input type=hidden name="kai" value=1>
</form>
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 帝國ECMS內(nèi)容存文本模式轉(zhuǎn)存數(shù)據(jù)庫模式處理方法