
帝国CMS程序相比DEDECMS可能入门稍微复杂一点,毕竟帝国CMS一直是在维护和更新的。现在已经更新到8.0,且对于帝国CMS而言安全性比DEDECMS高出很多,网站中使用帝国CMS的还是很多的。分享一个帝国CMS火车头采集器免登录文章发布模块。 改自帝国cms7.5火车头模块,测试正常,完美无缺。 1、将 eadmin 文件覆盖根目录。如果你修改了文件夹名请到发布模块改地址路径。 2、把 【帝国CMS8.0模块】 扔火车头采集器 Module 文件夹下。 3、其他都和在线发布模块差不多。但是一定要注意把发布模块里面的用户名改到管理员账户一样,否则无法发布。 4、记得修改分类所在的模型id。 祝大家采集愉快,大家一起发财!
<?php $sql=$empire->query("SELECT id FROM {$dbtbpre}ecms_news_index WHERE classid='$navinfor[classid]' and id >= ((SELECT MAX(id) FROM {$dbtbpre}ecms_news_index where classid='$navinfor[classid]')-(SELECT MIN(id) FROM {$dbtbpre}ecms_news_index where classid='$navinfor[classid]')) * RAND() + (SELECT MIN(id) FROM {$dbtbpre}ecms_news_index where classid='$navinfor[classid]') ORDER BY id limit 10"); while($rs=$empire->fetch($sql)){ $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where classid='$navinfor[classid]' and id='$rs[id]' limit 1"); ?> <li> <a href="<?=$r[titleurl]?>"> <div class="cover"> <img src="<?=$r[titlepic]?$r[titlepic]:'/e/data/images/timg.gif'?>" class="cover-img"> </div> <div class="title"><?=$r[title]?></div> </a> </li> <?}?>
<?php if ($navinfor['keyboard']) { $c_key=explode(',',$navinfor['keyboard']); $count=count($c_key); for($i=0;$i<$count;$i++) { if($i==0) { $or=''; } else { $or=' or '; } $repadd.=$or."keyboard like '%".$c_key[$i]."%'"; } $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id<>".$navinfor['id']." and ".$repadd." order by newstime desc limit 1"); if($r[title]) { $mesql=$empire->query("select titleurl,title,titlepic,newstime from {$dbtbpre}ecms_news where id<>".$navinfor['id']." and ".$repadd." order by newstime desc limit 12"); while($or=$empire->fetch($mesql)) { $newstime=date('Y-m-d',$or[newstime]); ?> <li><a href="<?=$or[titleurl]?>"><img data-src="<?=$or[titlepic]?>" alt="<?=$or[title]?>" src="https://www.1004619.com/wp-content/themes/dux/img/thumbnail.png" class="thumb"></a><a href="<?=$or[titleurl]?>"><?=$or[title]?></a></li> <? } } else { $mesql2=$empire->query("select * from {$dbtbpre}ecms_news where id<>".$navinfor['id']." order by rand() desc limit 12"); while($r2=$empire->fetch($mesql2)) { $newstime=date('Y-m-d',$o2[newstime]); ?> <li><a href="<?=$or[titleurl]?>"><img data-src="<?=$or[titlepic]?>" alt="<?=$or[title]?>" src="https://www.1004619.com/wp-content/themes/dux/img/thumbnail.png" class="thumb"></a><a href="<?=$or[titleurl]?>"><?=$or[title]?></a></li> <? } } } else { $mesql2=$empire->query("select titleurl,titlepic,title,newstime from {$dbtbpre}ecms_news order by rand() desc limit 12"); while($r2=$empire->fetch($mesql2)) { $newstime=date('Y-m-d',$r2[newstime]); ?> <li><a href="<?=$or[titleurl]?>"><img data-src="<?=$or[titlepic]?>" alt="<?=$or[title]?>" src="https://www.1004619.com/wp-content/themes/dux/img/thumbnail.png" class="thumb"></a><a href="<?=$or[titleurl]?>"><?=$or[title]?></a></li> <? }...
UPDATE YourDBName_posts SET post_content = REPLACE( post_content, 'YourOldUrl', 'YourNewUrl' )
<?php $str=stripcslashes($navinfor['newstext']); //脱敏正文newstext数据preg_match_all('/<img.*?src="(.*?)".*?>/is',$str,$imgArr); //正则提取正文图片 $imgArr = array_unique($imgArr[1]); //图片如有复生将去重复 $imgid = 0; //给定初始序号 foreach($imgArr as $vause){ //判断有多少张图 $imgid ++; //循环输出每一张图 ?><div lang="[!--class.name--][!--newstime--][!--title--]" draggable="[!--class.name--][!--newstime--][!--title--]" ><img src="<?=$vause?>" alt="<?=$navinfor['title']?>第<?=$imgid?>张图片"></div><ins lang="[!--class.name--][!--newstime--][!--title--]"></ins><?php }; ?> 调用纯文字内容代码: <?php $str="sadfasfsdf<img src='dd'>asfsd"; $smalltext=preg_replace("/<img.*?>/si","",$navinfor[newstext]);echo $smalltext; ?>
比较实用,可以调用数据库里的所有图片字段内容 <?php require('../e/class/connect.php'); //引入数据库配置文件和公共函数文件 require('../e/class/db_sql.php'); //引入数据库操作文件 require('../e/data/dbcache/class.php'); //引入栏目缓存文件 $link=db_connect(); //连接MYSQL $empire=new mysqlquery(); //声明数据库操作类 $editor=1; //声明目录层次 $sql=$empire->query("select * from {$dbtbpre}ecms_shop order by newstime limit 1000"); //查询新闻表最新10条记录 $totalquery="select count(*) as total from {$dbtbpre}ecms_shop"; $num=$empire->gettotal($totalquery); $i=1; ?> <?=$num?><br /> <?php while($r=$empire->fetch($sql)) //循环获取查询记录 { ?> <?=$r[titlepic]?>-----[id]<?=$r[id]?>---[classid]<?=$r[classid]?>---<?=$i++?><br/> <?php } ?> <?php db_close(); //关闭MYSQL链接 $empire=null; //注消操作类变量 ?>
做站的站长很多时候买个模板就直接用,对于模板的一些小优化这类知道的很少,下面来说说如何在模板中使用随机字符来提供模板的唯一性和原创程序。 方法1: 第一种方法是最容易理解的方法。它可以实现如下: 将所有可能的字母存储到字符串中,生成从0到字符串长度-1的随机索引,打印该索引处的字母,执行此步骤n次(其中n是所需字符串的长度)。 程序代码如下: <?php $n=10;function getName($n) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = 0; $i < $n; $i++) { $index = rand(0, strlen($characters) - 1); $randomString .= $characters[$index]; } return $randomString; } echo getName($n);?> 说明这里面最开始的10是字符的长度,可以随意修改。 方法2: 使用uniqid()函数。PHP中的uniqid()函数是一个内置函数,用于根据当前时间(微秒)生成唯一ID。默认情况下,它返回一个13个字符长的唯一字符串。 一次生成13个不一样的字符,减少重复。根据时间来的。 程序: <?php $result = uniqid(); echo $result; ?> 一般模板中直接插入这两段代码就可以直接用了,非常的简便 。 以上就是在帝国cms模板中插入随机字符的方法和代码实例了。
判断代码如下 <?php if($navinfor[xb]==帅哥) { ?><DIV class="xbox nan"> <? } else { echo "<DIV class=xbox>"; } ?> <?php if($navinfor['titlepic']) { ?> <a href='[!--titlepic--]' target='_blank'><img src='[!--titlepic--]' /></a> <? } else { ?> <? } ?> 亲测有效!!
我的站有大量采集信息,一次发布不利于长期SEO,所以从网上找了这个脚本稍作修改。分享给大家,其实也很简单,但比帝国自带的计划任务功能好的是,不用开启后台才运行,脚本放到服务器上后加入服务器的计划任务便可以每天定时审核发布信息。 <?php//使用密码控制if(empty($_GET['pwd']) || $_GET['pwd'] != '脚本运行密码,请自行修改'){ die('Fuck you! -www.lwtz.cn!');}define ( 'EmpireCMSAdmin', '1' );require ("../class/connect.php");require ("../class/db_sql.php");require ("../class/functions.php");require ("../class/t_functions.php");require ("../data/dbcache/class.php");require ("../data/dbcache/MemberLevel.php");$link = db_connect ();$empire = new mysqlquery ();$enews = $_POST ['enews'];if (empty ( $enews )) { $enews = $_GET ['enews'];}//参数$news_table = "news"; //新闻表$news_num = 1; //每次审核条数/** *使用时间控制审核的栏目,下面的代码因为栏目太多,每天分三个时段更新 *实验证明这个效果是不好的,收录只有早上的那次 * $hours = date ( 'H' ); switch($hours){ //频道和列表 case '8': $where = "bclassid = 0 or classid between 33 and 86"; break; case '13': $where = "bclassid = 0 or classid between 87 and 139"; break; case '22': $where = "bclassid = 0 or classid between 140 and 192"; break; default: $where = "classid='10000'"; } */$where = '1'; //审核新闻模型全部栏目$class_list = $empire->query ( "SELECT classid,islast from {$dbtbpre}enewsclass where $where" );$class = array ();$pclass = array ();while ( $r = $empire->fetch ( $class_list ) ) { if ($r ['islast'] == '0') { array_push ( $pclass, $r ['classid'] ); // 非终极栏目不可以发不信息,所以不参与信息审核 } else { array_push ( $class, $r ['classid'] ); }}foreach ( $class as $key => $val ) { ecmscheck ( $val, $news_table, $news_num ); // 审核}// 刷新非终极栏目foreach ( $pclass as $key => $value ) { echo '上级栏目'.$value.'已经更新<hr/>'; ReListHtml ( $value, 1 );}ReIndex(); //刷新首页/** * * @param $classid * @param $table * @param $num */function ecmscheck($classid, $table, $num) { global $empire, $class_r, $dbtbpre; $time = time (); // 每周一审核的设置为推荐 $isgood = '0'; $day = strftime ( "%A" ); if ($day == 'Monday') { $isgood = '1'; } $res = $empire->query ( "select id from {$dbtbpre}ecms_" . $table . "_check where classid =" . $classid . " ORDER BY `truetime` ASC LIMIT {$num}" ); while ( $r = $empire->fetch ( $res ) ) { $data [] = $r ['id']; } CheckNews_auto ( $classid, $data );}/** * 审核信息 * @param $classid * @param $id */function CheckNews_auto($classid, $id) { global $empire, $class_r, $dbtbpre, $emod_r, $adddatar; $classid = ( int ) $classid; $count = count ( $id ); $time = time(); //每周一审核的设置为推荐 $isgood = strftime('%A') == 'Monday'?1:0; for($i = 0; $i < $count; $i ++) { $infoid = ( int ) $id [$i]; $infor = $empire->fetch1 ( "select * from {$dbtbpre}ecms_" . $class_r [$classid] [tbname] . "_check where id='$infoid' limit 1" ); //$picurl = empty($infor['titlepic'])?'/images/smallpic/'.rand(1,300).'.jpg':$infor['titlepic']; //为了网站能好看点设置一个1-300的随机图片 $res = $empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check set truetime='$time',newstime='$time',lastdotime='$time',isgood='$isgood' where id='$infoid' limit 1"); $sql = $empire->query ( "update {$dbtbpre}ecms_" . $class_r [$classid] [tbname] . "_index set checked=1,truetime='$time',newstime='$time',lastdotime='$time' where id='$infoid'" ); // 未审核表转换 MoveCheckInfoData ( $class_r [$classid] [tbname], 0, $infor ['stb'], "id='$infoid'" ); // 更新栏目信息数 AddClassInfos ( $infor ['classid'], '', '+1' ); // 刷新信息 GetHtml ( $infor ['classid'], $infor ['id'], $infor, 0 ); echo '信息 '.$infor ['id'].' 内容页已经更新<hr/>'; // 刷新列表 ReListHtml ( $infor ['classid'], 1 ); echo '终极栏目 '.$infor ['classid'].' 已经更新<hr/>'; }}//刷新首页function ReIndex(){ $indextemp=GetIndextemp();//取得模板 NewsBq($classid,$indextemp,1,0); echo '首页已经刷新';} 因为我用的linux服务器,所以运行crontab就可以了,windows的请自行寻找计划任务方法,应该比linux简单
如果输入密码错误,就提示:密码错误,怎么提示看你自己: 如果输入的密码和后台单独设置的一样就显示隐藏的内容,当然想隐藏多少内容,你自己决定,放到对应代码里面就行: 上面是演示过程,感觉演示不到位的话,自己去对应页面查看效果。 下面讲解一下操作过程: 1.在系统模型新建一个mima的字段 2.在内容页对应位置添加如下代码: <!--密码--><?phpif(!$navinfor[mima]){?>你需要输入密码 <?}else{?> <?phpif(isset($_POST['password'])){ $pwd=$_POST['password']; if($pwd == $navinfor[mima]){?> [!--newstext--]<? }else{ echo "<script>alert('密码错误');</script>"; }}?> <? if($pwd !== $navinfor[mima]){ ?> <div class="zz_pic2"> <div class="houhao_top"> <span>此处内容仅供会员查看,请输入验证码后查看本文隐藏内容</span> <img src="/skin/jxhx/images/wx.png" /> <div class="houhao_search"> <form action="/e/action/ShowInfo.php?classid=[!--classid--]&id=[!--id--]" method="post"> 请输入验证码后继续:<input type="password" name="password" placeholder="请在这里输入验证码" class="houhao_bar" /> <input type="submit" value="确认" class="houhaoresults" /> </form> </div> <div class="kouhaohuoqu1"> <div class="kouhaohuoqu"> 方式1:微信扫码,发送66免费获得验证码 </div> <div class="timezen"> 方式2:猜一猜万一猜对了呢 </div> <div class="timezen"> 方式3:花几秒时间注册个会员免费查看 </div> </div> </div> </div><div class="clear"></div><?}?> <?}?><!--密码--> 3.这是最重要的一点,一定要保证这个页面是动态页面,怎么开启动态页面,可以看我另外一篇文章帝国cms内容页模式改成动态页面以后发布文章打开错误。这里说明了为什么做动态,以及怎么开启伪静态功能。 如果不这样做的话,是没法达到想要的效果的。因为这个代码执行是动态判断的。静态页面根本就实现不了。