帝国CMS二次开发内容存文本转存数据库方法
之前存文本的数据是用的默认的文章模型,newstext字段存储在主表,现在需要将其转换为数据库格式,存储在副表,多亏“夏威夷海盗”的帖子,http://bbs.phome.net/showthread-13-81898-0.html参考这篇帖子的方法做了测试,基本上……
之前存文本的数据是用的默认的文章模型,newstext字段存储在主表,现在需要将其转换为数据库格式,存储在副表,多亏“夏威夷海盗”的帖子,http://bbs.phome.net/showthread-13-81898-0.html参考这篇帖子的方法做了测试,基本上是可以的,但是存在问题,主要是php的file函数将文本读取后是以数组形式存在的,几乎每段文字存储到一个数组字段中,按照帖子提供的方案最终只能转化第一个数组中的第一位,后来参考帝国程序提供的几个函数稍加修改,完成了这个工作;
代码如下
<?phperror_reporting(E_ERROR|E_WARNING|E_PARSE);@set_time_limit(1000000);//设置超时时间,越长越好//*********************程序开始********************//说明:需要现在帝国后台模型设置的地方,在附表设置一个newstext1字段,等数据导入成功之后,再将原newstext字段删除,并将newstext1字段修改为newstext。//400条数据,大概也就一秒钟左右;$kai=$_POST['kai'];functionReadFiletext($filepath){$filepath=trim($filepath);$htmlfp=@fopen($filepath,"r");$string=@fread($htmlfp,@filesize($filepath));@fclose($htmlfp);return$string;}functionGetTxtFieldText($pagetexturl){$text=ReadFiletext($pagetexturl);$text=substr($text,12);//去除exitreturn$text;}//配置数据库参数mysql_connect("localhost","root","");//本机数据库用户名和密码mysql_select_db("mydatabase");//本机数据库名,mysql_query("setnames'utf8'");//数据表第一条信息的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='".$text."'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>
- 上一篇
帝国CMS会员中心模板改造之会员中心/控制面版相关页面调用会员字段的方法
会员中心/控制面版相关页面调用会员字段的方法会员头像:<img src="<?=empty($addr[userpic])?"":"".htmlspecialchars(stripSlashes($addr[userpic])).""?>" width="16" height="16" border="0" align="absmiddle
- 下一篇
帝国CMS设置后台友情链接每页显示数量
问题如题,表示友情链接加的数量多了之后.管理越来不太方便,因为一面只显示十几个.几个链接需要来回翻页,并且也不能使用查询.所以想问下前辈们,是否可以在哪里修改显示数量,直接显示全部的友情链接,从而方便管理.求指