最新公告
  • 欢迎您光临329687站长资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 之前存文本的数据是用的默认的文章模型,newstext字段存储在主表,现在需要将其转换为数据库格式,存储在副表,多亏“夏威夷海盗”的帖子,http://bbs.phome.net/showthread-13-81898-0.html参考这篇帖子的方法做了测试,基本上是可以的,但是存在问题,主要是php的file函数将文本读取后是以数组形式存在的,几乎每段文字存储到一个数组字段中,按照帖子提供的方案最终只能转化第一个数组中的第一位,后来参考帝国程序提供的几个函数稍加修改,完成了这个工作;

    代码如下

    <?php
    error_reporting(E_ERROR|E_WARNING|E_PARSE);
    @set_time_limit(1000000);//设置超时时间,越长越好
    //*********************程序开始********************
    //说明:需要现在帝国后台模型设置的地方,在附表设置一个newstext1字段,等数据导入成功之后,再将原newstext字段删除,并将newstext1字段修改为newstext。
    //400条数据,大概也就一秒钟左右;
    $kai=$_POST[&#039;kai&#039;];
    functionReadFiletext($filepath){
    $filepath=trim($filepath);
    [email protected]($filepath,"r");
    [email protected]($htmlfp,@filesize($filepath));
    @fclose($htmlfp);
    return$string;
    }
    functionGetTxtFieldText($pagetexturl){
    $text=ReadFiletext($pagetexturl);
    $text=substr($text,12);//去除exit
    return$text;
    }
    //配置数据库参数
    mysql_connect("localhost","root","");//本机数据库用户名和密码
    mysql_select_db("mydatabase");//本机数据库名,
    mysql_query("setnames&#039;utf8&#039;");
    //数据表第一条信息的ID
    $a=mysql_query("selectidfromwecms_articleorderbyidasclimit1");
    $num1=mysql_result($a,0);
    //数据表最后一条信息的ID
    $b=mysql_query("selectidfromwecms_articleorderbyiddesclimit1");
    $num2=mysql_result($b,0);
    if($kai==1){
    //循环逐条处理
    for($i=$num1;$i<$num2;$i++){
    $sql="selectnewstextfromwecms_articlewhereid=".$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)){
    $pagetexturl="d/txt/".$text.".php";//因为帝国存文本中有exit中断,所以需要用读文件的方法去读取代码,文本的路径要正确,存在本文件所以目录下的子目录"d/txt/"下
    $text=GetTxtFieldText($pagetexturl);
    //过滤帝国存文本生成的exit中断代码,使用文本中的内容替换数据库中相应的数据值
    $wurl="updatewecms_article_data_1setnewstext1=&#039;".$text."&#039;whereid=".$i;
    $write=mysql_db_query("mydatabase",$wurl);
    }
    }
    }
    echo"OK,搞定!";
    }
    ?>
    <formmethod="post"action="index9.php">
    <inputtype=submitname=okvalue="从<?=$num1?>开始处理,到<?=$num2?>结束.点击开始处理">
    <inputtype=hiddenname="kai"value=1>
    </form>

    329站长网 » 帝国CMS二次开发内容存文本转存数据库方法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    329687站长资源网
    一个专注于各种网站源码、程序模板、技术教程分享的站长资源下载平台
    • 5会员总数(位)
    • 2031资源总数(个)
    • 81本周发布(个)
    • 10 今日发布(个)
    • 208稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情