emlog文章浏览数在规定的时间内算一次修改方法 emlog
文章浏览数在规定的时间内算一次修改方法(感谢EM开发QQ群@土著人宁巴)
找到include/controller/log_controller.php 大概102中
$Log_Model->updateViewCount($logid);
改为(其中86400为时间,单位为秒)就可以搞定了。
if(time()-intval($COOKIE['viewtime'.$logid])>86400){
$LogModel->updateViewCount($logid);
setcookie('viewtime'.$logid,time());
}
另外附上按点击数排列文章的方法
找到include/controller/log_controller.php 大概19中
$sqlSegment ='ORDER BY top DESC ,date DESC';
top改为views即可。。
本人把方法分享给大家,希望对大家所帮助。
让MySQL缺失的ID值自动恢复增长和补全缺失的ID 代码人生
话说,百度知道很强大,自己很弱小呀......才疏学浅.
如下图所示:
想要 cate_id 字段的值 从1开始往下增长 1 2 3 4 5 6 7 8 ....,而不是2 3 4 5 6 7 8 ....
一共有3种修复方法:
第一种手先动修复成1 2 3 4 5 6 7
操作MySQL:输入ALTER TABLE tdb_goods_cates AUTO_INCREMENT = 8
这样往后的资料会从8开始(对于数据量小的可以这么做)
第二种重置表方法
首先--no-create-info,-t仅输出资料
然后把表tdb_goods_cates所有资料使用delete tdb_goods_cates删除
然后输入ALTER TABLE tdb_goods_cates AUTO_INCREMENT = 1
再把输出资料的.sql文件导入就可以了
第三种mysql语法(推荐使用)
UPDATE tdb_goods_cates set cate_id = cate_id-1
然后输入ALTER TABLE tdb_goods_cates AUTO_INCREMENT = 8
这样就可以解决这个问题了.话说,百度知道很强大,自己很弱小呀......才疏学浅.
css自适应宽度滑动门菜单 PHP
html css width 自适应
什么是CSS自适应宽度滑动门菜单?
CSS自适应宽度菜单指菜单的宽度可以随着内容的增加而变宽,就拿下边的实例来说,是按4个字的宽度来设计的,如果其中一项为5个字或更多,就放不下了。那么我们就需要让它的宽度可以随着内容的增减而变化,这就是css自适应宽度菜单。
自适应宽度按钮的效果是怎样的呢?
那么,自适应宽度按钮,是怎么实现的呢?
要想实现自适应宽度,需要在文字上增加一个辅助标签,如span,分别在a上和span上设置背景,一个左侧对齐,一个右侧对齐
绿色部分为span,然后定义它的背景图片靠右侧对齐,而左侧的部分为a的背景图片,定义靠左侧对齐。当文字多时,会把span撑开,这实现了自适应宽度的按钮了。这里需要一张如下的图片,它的宽度要宽于你所应用的最宽宽度,这样才能显示正常,同时根据以前学习的css Sprites技术,把背景图片和鼠标经过图片放到一张图片上。
EMLOG实现图片防盗链的方法(伪静态实现) emlog
用于防范emlog附件图片被其它网站盗链,本代码来源于em论坛,由qiukong编辑撰写,测试可正常运行,现再次分享给大伙,代码如下:
RewriteEngine on RewriteBase /content RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !mrxn.net [NC] RewriteCond %{HTTP_REFERER} !so.com [NC] RewriteCond %{HTTP_REFERER} !soso.com [NC] RewriteCond %{HTTP_REFERER} !sogou.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] RewriteCond %{HTTP_REFERER} !bing.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteRule .*\.(jpg|jpeg|png|bmp|gif)$ https://mrxn.net/daotu.gif [R,NC,L]
在你的主机根目录新建文件.htaccess,加入上面的内容。(如果开启了伪静态已经有.htaccess,就把2~4行粘贴到</ifmodule>前面即可)
然后代码要进行一些修改,其中“mrxn.net”改为你的网站域名,“https://mrxn.net/daotu.gif”改成盗链网站显示的图片。
该代码可防止content目录一切图片被盗链,如模板、附件等等。当然,你也可以增加可以使用图片的站,比如,你增加一个emlog.net 就是论坛.
RewriteCond %{HTTP_REFERER} !emlog.net [NC] 即可让图片在emlog论坛正确显示.
Emlog实现最新头条文章标题加摘要显示代码 emlog
最新置顶头条文章标题加摘要显示的效果,把以下代码复制到module.php里面,如需调用分类置顶文章请把top='y'改为sortop='y'即可
<?php //首页置顶头条,不带图片 function sheli_zdLog() { $db = MySql::getInstance(); $sql = "SELECT gid,title,content,date FROM ".DB_PREFIX."blog WHERE type='blog' and top='y' ORDER BY `top` DESC ,`date` DESC LIMIT 0,1"; $list = $db->query($sql); while($row = $db->fetch_array($list)){ //$row['content'] = htmlspecialchars($row['content']); $row['content'] = strip_tags($row['content']);?> <h1><a href="<?php echo Url::log($row['gid']); ?>" title="<?php echo $row['title']; ?>" target="_blank"><?php echo $row['title']; ?></a></h1> <span class="note"><?php echo mb_substr($row['content'],0,85,'utf-8'); ?>...</span><a href="<?php echo Url::log($row['gid']); ?>" target="_blank">阅读全文>></a> <?php } ?> <?php } ?>
如果需要带图片请使用下面代码放入module.php中,如需调用首页置顶文章请把sortop='y'改为top='y'即可
<?php //分类置顶头条,带图片 function sheli_zdLog(){ $db = MySql::getInstance(); $sql = $db->query ("SELECT * FROM ".DB_PREFIX."blog inner join ".DB_PREFIX."sort WHERE hide='n' AND type='blog' AND sortop='y' AND sortid=sid order by date DESC limit 0,5"); while($row = $db->fetch_array($sql)){ if (!empty($row['excerpt'])){ preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $row['excerpt'], $match); if(empty($match[0][0])) { preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $row['content'], $match); } }else{ preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $row['content'], $match); } $logpost = !empty($row['excerpt']) ? $row['excerpt'] : ''.$row['content'].''; $num = rand(1,3); $img = isset($match[0][0]) ? $match[0][0] : '<img src="'.TEMPLATE_URL.'images/shuyong_net/'.$num.'.jpg">'; $date = gmdate('Y年m月d日', $row['date']); $content = strip_tags($logpost,''); $content = mb_substr($content,0,250,'utf-8');$comment = ($row['comnum'] != 0) ? '被吐槽<span>'.$row['comnum'].'</span>次' : '暂无吐槽'; $gid = $row['gid']; $tag = $db -> query("SELECT * FROM ".DB_PREFIX."tag WHERE gid LIKE '%,$gid,%'"); $out .=' <div class="flash_img2"> <div class="hdp_img"><a href="'.Url::log($row['gid']).'" title="'.$row['title'].'" >'.$img.'</a></div> <div class="hdp"><h4><a href="'.Url::log($row['gid']).'" title="'.$row['title'].'">'.$row['title'].'</a></h4> <h5>日期:'.$date.' 分类:<a href="'.Url::sort($row['sortid']).'" title="查看 '.$row['sortname'].' 中的全部文章" rel="category tag">'.$row['sortname'].'</a> 共被围观 '.$row['views'].' 次 '.$comment.'</h5> <h6>'.$content.'...</h6></div></div> '; } echo $out; }?>
以上未提供css代码,请自行折腾
在 WampServer 上手工安装 PHP 的多个版本 PHP
手工安装新版本的PHP,只需以下步骤:
下载要安装的PHP版本。既然是用WampServer,那当然是下载Window版本的ZIP包啦:http://windows.php.net。解压到 Wamp的安装目录in\php\php5.2.17。这里以5.2.17为例。
进入 Wamp的安装目录in\php\php5.2.17 目录,从 php.ini-dist 或者 php.ini-recommended 复制一份,重命名为php.ini,适应修改php.ini配置(如extension_dir),再从php.ini复制一分,重命名为 phpForApache.ini。
从已有的版本目录中复制一份 wampserver.conf。比如我安装WampServer的时候已经有php5.3.0,在 Wamp的安装目录in\php\php5.3.0 目录下复制 wampserver.conf 到 Wamp的安装目录in\php\php5.2.17。
修改Wamp配置文件:进入 Wamp的安装目录,用IDE或记事本(最好使用行号定位的记事本,如EditPlus等)打开 wampmanager.ini,定位到 335 行,通常在这一行就是[phpVersion],如果不是,则在附近找找。复制下面一行:
Type: item; Caption: "5.3.0"; Action: multi; Actions:switchPhp5.3.0
插入到这一行前面,并修改为
Type: item; Caption: "5.2.17"; Action: multi; Actions:switchPhp5.2.17
再复制
[switchPhp5.3.0]
Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "switchPhpVersion.php 5.3.0";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated
Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;
插入这一段之前,并修改为
[switchPhp5.2.17]
Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "switchPhpVersion.php 5.2.17";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated
Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;
退出WampServer,再重启。完成。
通过这5步,即可完成PHP任意版本的安装。
Emlog按天数时间调用热门文章列表 emlog
Emlog按天数时间调用随机热门文章列表
把以下代码复制到模板目录下的module.php里面,其中30*24*60*60中的30为天数,可自行修改
<?php //30天按点击率排行文章 function sheli_hotlog($log_num) { $db = MySql::getInstance(); $time = time(); $sql = "SELECT gid,title FROM ".DB_PREFIX."blog WHERE type='blog' AND date > $time - 30*24*60*60 ORDER BY `views` DESC LIMIT 0,$log_num"; $list = $db->query($sql); while($row = $db->fetch_array($list)){ ?> <li><a href="<?php echo Url::log($row['gid']); ?>" title="<?php echo $row['title']; ?>"><?php echo $row['title']; ?></a></li> <?php } ?> <?php } ?>
在需要的调用的地方输入<?php sheli_hotlog(10);?>调用,其中10为调用的数量。
emlog插件 ---- SyntaxHighlighter 代码高亮2.2更新 emlog
此款emlog插件有以下功能:
- 代码高亮(包含十几种常见代码自动高了着色);
- pre标签自动换行(妈妈再也不用担心我的代码过长显示不全了-_-|);
- 可复制,点击一下即可复制代码到剪贴板,方便使用;
- 可新窗口查看代码,进行其他操作;
- 可打印(貌似没啥用 -_-|)
-
暂时就这么多.
有如下不足:
由于emlog 5.1.0版本采用KindEditor新版本,不支持原来的方法,因此不再支持5.1.0及以下版本
如果你的文章页或者是css中对pre标签有空值作用,可能会有bug显示.可自行调试解决,或者联系我,我会尽力帮你解决.
兼容性不是太好,如果安装后发现不能正常使用,请检查是否是某款插件冲突导致.
使用方法:
第一步:通过后台插件安装地址,上传安装插件,如果失败(一般是空间不支持)
请解压后用FTP上传至 网站根目录/content/plugins/ 路径下
第二步:在插件设置页面刷新,激活即可
<?php /** * Confirms that the activation key that is sent in an email after a user signs * up for a new blog matches the key for that user and then displays confirmation. * * @package WordPress */ define( 'WP_INSTALLING', true ); /** Sets up the WordPress Environment. */ require( dirname(__FILE__) . '/wp-load.php' ); require( dirname( __FILE__ ) . '/wp-blog-header.php' ); if ( !is_multisite() ) { wp_redirect( site_url( '/wp-login.php?action=register' ) ); die(); } if ( is_object( $wp_object_cache ) ) $wp_object_cache->cache_enabled = false; // Fix for page title $wp_query->is_404 = false; /** * Fires before the Site Activation page is loaded. * * @since 3.0.0 */ do_action( 'activate_header' ); /** * Adds an action hook specific to this page that fires on wp_head * * @since MU */ function do_activate_header() { /** * Fires before the Site Activation page is loaded, but on the wp_head action. * * @since 3.0.0 */ do_action( 'activate_wp_head' ); } add_action( 'wp_head', 'do_activate_header' ); /** * Loads styles specific to this page. * * @since MU */ function wpmu_activate_stylesheet() { ?> <style type="text/css"> form { margin-top: 2em; } #submit, #key { width: 90%; font-size: 24px; } #language { margin-top: .5em; } .error { background: #f66; } span.h3 { padding: 0 8px; font-size: 1.3em; font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; font-weight: bold; color: #333; } </style> <?php } add_action( 'wp_head', 'wpmu_activate_stylesheet' ); get_header(); ?>
插件下载:et_highlighter51.zip 备份链接:http://pan.baidu.com/s/1jGvqycI
欢迎大家下载使用,转载请注明出处,谢谢. Powered By Mrxn https://mrxn.net
php学习小计处理几个常见的错误 PHP
Deprecated: Function ereg_replace() is deprecated
在php5.3.0后的版本,取消了对ereg函数的支持,惹得若干程序需要改动,譬如我安装的zen-card1.3.8,颇不方便。
错误:Deprecated: Function ereg() is deprecated in ……
解决方法一:退回去用php5.2。(众人皆赞道:果是好法子!)
解决方法二:继续用php5.3,但是修改devel/devel.modul的460行:if ($errno & (E_ALL ^ E_NOTICE)) {改为if ($errno & (E_ALL & ~E_NOTICE & ~E_DEPRECATED)) {把丫deprecated错误给忽略掉。(众人皆又赞道:果……果……果是好法子!)
解决方法三:动程序鸟,把ereg换成preg_match,ereg_replace也需得换成preg_replace。只得注意的是ereg("^[0-9]") 需修改成 preg_match("/^[0-9]/") 无敌//必须加,哈哈。(众人皆俯首赞道:王道也!)
PHP之短标签开启设置
//php.ini中
short_open_tag = On
//除<?php ?>,可使用更灵活的调用方法
<? /*程序操作*/ ?>
<?=/*函数*/?>
这样可以解决很多错误.比如提示错误在某代码最后一行.
Deprecated: Function set_magic_quotes_runtime() is deprecated in
原因高版本的php把set_magic_quotes_runtime去了,解决办法:
//把
set_magic_quotes_runtime(0);
//替代成
ini_set("magic_quotes_runtime",0);
即可解析了.
emlog教程--为网页添加动态背景 (背景轮播) emlog
以前文章 最近发现一个插件所以重新更新下本文
插件名称: jquery.backstretch.js
下面是 示例代码:
设置网页背景:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>全屏背景</title> <script src="http://api.asilu.com/cdn/jquery.js,jquery.backstretch.min.js" type="text/javascript"></script> </head> <body> <script type="text/javascript"> $.backstretch('http://api.asilu.com/cdn/img/bg/444.jpg'); </script> </body> </html>多张张图片切换:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>全屏背景切换</title> <script src="http://api.asilu.com/cdn/jquery.js,jquery.backstretch.min.js" type="text/javascript"></script> </head> <body> <script type="text/javascript"> $.backstretch([ 'http://api.asilu.com/cdn/img/bg/444.jpg', 'http://api.asilu.com/cdn/img/bg/445.jpg', 'http://api.asilu.com/cdn/img/bg/446.jpg', 'http://api.asilu.com/cdn/img/bg/447.jpg', 'http://api.asilu.com/cdn/img/bg/448.jpg' ], { fade : 1000, // 动画时长 duration : 2000 // 切换延时 }); </script> </body> </html>该代码实现了, 背景图片的切换,带有切换效果的
第一个版本 切换效果用到了
jQuery
的动画,这个版本果断放弃 不需要 jQuery
切换动画由CSS
设置具体代码如下
CSS 样式
JS 代码
HTML 就一个
div#bg
简单实用
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8"/> <style> div#bg { position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: -10; background-position: center 0; background-repeat: no-repeat; background-attachment: fixed; background-size: cover; -webkit-background-size: cover; -o-background-size: cover; zoom: 1; opacity:1; transition: opacity 1s linear; -moz-transition: opacity 1s linear; -webkit-transition: opacity 1s linear; -o-transition: opacity 1s linear; } </style> <h1><a href="http://gouji.org/?post=317">代码出处</a></h1> <div id="bg"></div> <script> // 定义图片路径 {num} 为 可变的图片序号 var bgImgUrl = 'http://api.asilu.com/cdn/img/bg/{num}.jpg', bgNum, bgImgArr = [], bgDiv = document.getElementById("bg"); // 组合数组 此处 200 为 图开始序号 结束 210 for (var i=200; i <= 210; i++){ bgImgArr.push(bgImgUrl.replace('{num}', i)); } setBGimg(); function setBGimg(d){ if(!bgNum || bgNum > bgImgArr.length) bgNum = 0; bgDiv.style.opacity = .001; setTimeout(function(){ bgDiv.style.backgroundImage = 'url('+ bgImgArr[bgNum] +')'; bgDiv.style.opacity = 1; }, 1000); bgNum++; if(typeof d == 'undefined') setInterval(function(){setBGimg(true);}, 6000); // 上一行的 6000 是背景图片自动切换时间(单位 毫秒) } </script>原文为简爱博客,地址:http://www.gouji.org/?post=317