RELATEED CONSULTING
相关咨询
选择下列服务马上在线沟通
服务时间:9:00-20:00
你可能遇到了下面的问题
关闭右侧工具栏

技术支持

ecms二开内容存文本转存数据库办法

  • 作者:郑州融科网络
  • 发表时间:2019-09-11
  • 人气:

之前存文本的数据是用的默认的新闻模型,newstext字段存储在主表,现在需要将其转换为数据库格式,存储在副表,多亏“夏威夷海盗”的帖子,
参考这篇帖子的办法做了测试,基本上是可以的,但是存在问题,主要是php的file函数将文本读取后是以数组形式存在的,几乎每段文字存储到一个数组字段中,按照帖子提供的方法最终只能转化第一个数组中的第一位,后来参考帝国程序提供的几个函数稍加修改,完成了这个工作;

代码如下<?php error_reporting(E_ERROR | E_WARNING | E_PARSE); @set_time_limit(1000000);//设置超时时间,越长越好 //********************* 程序开始 ******************** //说明:需要现在帝国后台模型设置的地方,在附表设置一个newstext1字段,等数据导入成功之后,再将原newstext字段删除,并将newstext1字段修改为newstext。 //400条数据,大概也就一秒钟左右; $kai = $_POST['kai']; function ReadFiletext($filepath){ $filepath=trim($filepath); $htmlfp=@fopen($filepath,"r"); $string=@fread($htmlfp,@filesize($filepath)); @fclose($htmlfp); return $string; } function GetTxtFieldText($pagetexturl){ $text=ReadFiletext($pagetexturl); $text=substr($text,12);//去除exit return $text; } //配置数据库参数 mysql_connect("localhost","root","");//本机数据库用户名和密码 mysql_select_db("mydatabase");//本机数据库名, mysql_query("set names 'utf8'"); //数据表第一条信息的ID $a=mysql_query("select id from w帝国CMS_article order by id asc limit 1"); $num1= mysql_result($a,0); //数据表最后一条信息的ID $b=mysql_query("select id from w帝国CMS_article order by id desc limit 1"); $num2= mysql_result($b,0); if ($kai==1){ //循环逐条处理 for($i=$num1;$i<$num2;$i++){ $sql="select newstext from w帝国CMS_article where id=".$i; if($result=mysql_query($sql)){ $r=mysql_fetch_object($result); $text=$r->newstext; //判断是否是存文本的信息 if (strlen($text)==42 && preg_match("/^[0-9a-z\d\/]*$/i",$text)){         $pagetexturl="d/txt/".$text.".php";//因为帝国存文本中有exit中断,所以需要用读文件的办法去读取代码,文本的路径要正确,存在本文件所以目录下的子目录"d/txt/"下 $text=GetTxtFieldText($pagetexturl); //过滤帝国存文本生成的exit中断代码,使用文本中的内容替换数据库中相应的数据值 $wurl="update w帝国CMS_article_data_1 set newstext1='".$text."' where id=".$i; $write=mysql_db_query("mydatabase",$wurl);  } } }         echo "OK,搞定!"; } ?> <form method="post" action="index9.php"> <input type=submit name=ok value="从<?=$num1?>开始处理,到<?=$num2?>结束.点击开始处理"> <input type=hidden name="kai" value=1> </form>


本文章网址,转载请保留此链接http://www.zzvy.cn/cms/1654.html
本文标签: