首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,262 阅读
2
PP.UA免费域名注册
2,173 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,158 阅读
4
7-Zip中文美化版
2,027 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,941 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
代码
工具软件
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
系统工具
上传下载
Windows
建站
PDF
网盘
学习
Typecho
ZJ
累计撰写
802
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
71
篇与
的结果
2019-11-20
实现emlog网站信息统计的代码
有时候想在网页中向访客展示emlog博客的文章数量、评论数量、运行时间等信息,但emlog后台侧边栏没有提供相关的模块,因此需要博主自主添加博客统计信息代码。下面是博客吧整理的emlog网站信息统计代码,已在emlog 5.3.x上测试可用。调用代码:方法一:官方缓存类统计代码。优点:加载速度快;缺点:可能信息更新不及时。把以下代码添加到当前使用的主题模板文件中,如side.php文件: <?php $sta_cache = Cache::getInstance()->readCache('sta'); /*必须添加*/ ?> <ul> <li>文章总数:<?php echo $sta_cache['lognum']; ?> 篇</li> <li>评论总数:<?php echo $sta_cache['comnum_all']; ?> 条</li> <li>闲言碎语:<?php echo $sta_cache['twnum']; ?>条</li> <li>网站运行:<?php echo floor((time()-strtotime(20160423))/86400); ?> 天</li> </ul> 附:$sta_cache[‘参数’]中的参数可选如下: lognum 游客可见日志总数 draftnum 草稿,也就是隐藏文件数量 comnum 未隐藏的评论数量 comnum_all 所有评论数量 hidecomnum 被隐藏的评论数量 twnum 微语数量 checknum 未审核的文章数量 方法二:自编函数,通过SQL语句查询相关数据。缺点:加载速度较缓存类慢;优点:实时显示把下面的代码添加到主题的module.php文件中: <?php //统计文章总数 function count_log_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE type = 'blog'"); return $data['total']; } //置顶文章数 function count_log_top(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE top = 'y' or sortop = 'y' AND type = 'blog'"); return $data['total']; } //隐藏文章数 function count_log_hide(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE hide = 'y' AND type = 'blog'"); return $data['total']; } //未审核文章数 function count_log_check(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE checked = 'n' AND type = 'blog'"); return $data['total']; } //加密文章数 function count_log_pass(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE password !='' AND type = 'blog'"); return $data['total']; } //统计页面总数 function count_page_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE type = 'page'"); return $data['total']; } //统计评论总数 function count_com_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "comment"); return $data['total']; } //统计友链总数 function count_link_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "link"); return $data['total']; } //统计微语评论总数 function count_treply_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "reply"); return $data['total']; } //统计分类总数 function count_sort_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "sort"); return $data['total']; } //统计子分类数 function count_sort_mod(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "sort WHERE pid != 0"); return $data['total']; } //统计标签总数 function count_tag_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "tag"); return $data['total']; } //统计微语总数 function count_tw_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "twitter"); return $data['total']; } //统计用户总数 function count_user_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user"); return $data['total']; } //统计管理员总数 function count_user_admin(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user WHERE role = 'admin'"); return $data['total']; } //统计作者总数 function count_user_writer(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user WHERE role = 'writer'"); return $data['total']; } //统计附件总数 function count_att_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "attachment"); return $data['total']; } //最后发表文章时间 function last_post_log(){ $db = MySql::getInstance(); $sql = "SELECT * FROM " . DB_PREFIX . "blog WHERE type='blog' ORDER BY date DESC LIMIT 0,1"; $res = $db->query($sql); $row = $db->fetch_array($res); $date = date('Y-n-j H:i',$row['date']); return $date; }; ?> 调用代码: <ul> <li>文章总数:<?php echo count_log_all();?></li> <li>置顶文章:<?php echo count_log_top();?></li> <li>隐藏文章:<?php echo count_log_hide();?></li> <li>待审文章:<?php echo count_log_check();?></li> <li>加密文章:<?php echo count_log_pass();?></li> <li>页面总数:<?php echo count_page_all();?></li> <li>评论总数:<?php echo count_com_all();?></li> <li>友链总数:<?php echo count_link_all();?></li> <li>微语评论:<?php echo count_treply_all();?></li> <li>分类总数:<?php echo count_sort_all();?></li> <li>子分类数:<?php echo count_sort_mod();?></li> <li>标签总数:<?php echo count_tag_all();?></li> <li>微语总数:<?php echo count_tw_all();?></li> <li>用户总数:<?php echo count_user_all();?></li> <li>管理员数:<?php echo count_user_admin();?></li> <li>作者总数:<?php echo count_user_writer();?></li> <li>附件总数:<?php echo count_att_all();?></li> <li>最后更新:<?php echo last_post_log();?></li> </ul>
2019年11月20日
244 阅读
0 评论
0 点赞
2019-11-20
EMLOG随便看看随机阅读代码
如果你的站是使用EMLOG搭建的,那么送你一串代码,为你的EMLOG站点设置个随便看看功能,就是随机文章功能,按照提供的说明,简单几部就可以完成EMLOG随便看看随机阅读的功能;首先打开你正使用的模板文件夹,找到module.php脚本文件使用编辑器打开,切记不要使用记事本编辑那后果是非常严重的,在module.php文件的最后加入以下代码: <?php //随便看看 function sbkk_logs() { $db = MySql::getInstance(); $sql = "SELECT gid FROM ".DB_PREFIX."blog WHERE type='blog' and hide='n' ORDER BY rand() LIMIT 0,1"; $sbkk_logs_list = $db->query($sql); while($row = $db->fetch_array($sbkk_logs_list)){ echo Url::log($row['gid']);} }?> 以上代码的意思就是从数据库随机获取一条文章的网址,此代码粘贴之后,再在需要的地方复制一下代码既可以了。 <a href="<?php sbkk_logs();?>">随便看看</a>
2019年11月20日
231 阅读
0 评论
0 点赞
2019-11-20
Emlog后台中content、excerpt以纯文本格式的教程分享
最近弄一个项目,需要把Emlog后台中content、excerpt以纯文本的形式展示,特别感谢[Young小杰@杨小杰.blog],下面直接进入主题,教程如下: 1、把后台文件admin/views/add_log.php中的<textarea id="content" name="content" style="width:845px; height:460px;"></textarea> 改为: <input id="content" name="content" style="width:400px;" /><textarea id="excerpt" name="excerpt" style="width:845px; height:260px;"></textarea> 改为 <input id="excerpt" name="excerpt" style="width:400px;" />2、把后台文件admin/views/edit_log.php中的<textarea id="content" name="content" style="width:845px; height:460px;"><?php echo $content; ?></textarea> 改为 <input id="content" name="content" value="<?php echo $content; ?>" style="width:400px;"/><textarea id="excerpt" name="excerpt" style="width:845px; height:260px; border:#CCCCCC solid 1px;"><?php echo $excerpt; ?></textarea> 改为: <input id="excerpt" name="excerpt" value="<?php echo $excerpt;?>" style="width:400px;" />3、删除文件admin/views/add_log.php、edit_log.php中的loadEditor('content'); loadEditor('excerpt');4、删除admin/views/js/common.js文件中的editorMap['content'].sync(); editorMap['excerpt'].sync();
2019年11月20日
266 阅读
0 评论
0 点赞
2019-11-20
Emlog模板设置插件修改篇:实现标签标题、描述等均可自定义
找到模板设置插件tpl_options.php文件中的case 'sort':开头至break;,在break;后面加入代码case 'sytag': global $CACHE; $tag_cache = $CACHE->readCache('tags'); echo '<div class="option-sort-left"><select class="option-sort-select">'; foreach($tag_cache as $value){ echo sprintf('<option value="%s">%s</option>',$value['tagname'],$value['tagname']); } echo '</select></div>'; echo '<div class="option-sort-right">'; foreach ($tag_cache as $value) { $sid = $value['tagname']; echo '<div class="option-sort-option option-sytag-option">'; if(!isset($option['value'][$sid])){$option['value'][$sid] = $this->getOptionDefaultValue($option, $this->_currentTemplate);} if($loopValues){if($placeholder){echo sprintf('<input type="hidden" name="%s" value="">', $option['id'] . "[{$sid}]");} foreach($option['values'] as $value => $label){echo strtr($tpl, array( '{name}' => $option['id'] . "[{$sid}]", '{value}' => $this->encode($value), '{label}' => $label, '{checked}' => $this->getCheckedString($value, $option['value'][$sid]), )); } }else{ echo strtr($tpl, array( '{name}' => $option['id'] . "[{$sid}]", '{value}' => $this->encode($option['value'][$sid]), '{label}' => '', '{path}' => $this->getImagePath($option['value'][$sid]), '{rich}' => $this->getRichString($option), )); } echo '</div>'; } echo '</div>'; break;如果想好看点,加入css文件:/**加入css开始**/ #tpl-options .depend-sytag{margin-left:0;clear: both;} .option-sytag-left{ float:left;} .option-sytag-right{float:left;} .option-sytag-option input{height:23px;} /**end**/使用方法(举例说明):'tagtt' => array( 'type' => 'text', 'name' => '标签标题设置', 'values' => array('',), 'unsorted' => false, 'depend' => 'sytag', 'description' => '左侧选择标签,然后在输入框中输入标签标题。', ),
2019年11月20日
240 阅读
0 评论
0 点赞
2019-11-20
emlog修默认改导航栏地址
如果EMLOG使用的是Windows的服务器,点击前台的登录,经常会出现404问题。 因为服务器无法判定admin的路径是文件还是目录,如果访问www.shuyong.net/admin/,后面加上斜杠,指明是目录,则不会出现404的问题。 进入EMLOG后台,导航,选择登录的导航,修改,会提示默认导航无法修改,出现这种问题,需要修改程序文件。 使用编辑工具(不能使用记事本),打开admin/navbar.php文件后 查找并删除 if ($type != Navi_Model::navitype_custom) { $url = '该导航地址由系统生成,无法修改'; } 此段代码是为了判定,导航是否是默认导航,如果是的话,就不显示导航地址,只显示这段文字。 删除了上面一段代码之后,发现文本框虽然显示了导航地址,但还是不可修改状态, 继续查找并删除$conf_isdefault = $type != Navi_Model::navitype_custom ? 'disabled="disabled"' : ''; 此段代码设定了,如果是默认导航的话,那文本框就不可修改。 以上步骤搞定了以后,虽然文本框可以修改,可以提交,但发现修改后还是不能生效 最后,查找以下代码: if ($isdefault == 'n') { $navi_data['url'] = $url; } 留下中间一行,修改为: $navi_data['url'] = $url; 此段代码是在提交的时候判断导航是否为默认导航,如果不是默认导航才修改,去掉修改条件就OK。 这下,把登录的地址,加个“/”改为“admin/”就搞定了~
2019年11月20日
248 阅读
0 评论
0 点赞
2019-11-17
让Emlog5.3.1兼容PHP7环境一些处理方法
直接在php7安装emlog5.3.1各种报错。5.3.1虽然已经出了使用mysqli连接类,但是为了兼容性还是默认是使用了mysql。因为PHP7已经不支持mysql扩展了,但是支持mysqli和pdo_mysql。所以这里还是介绍如何使用mysqli来安装emlog以下是修改emlog安装程序,无报错安装。如果是实际环境请在本地环境模拟后成功后再更换。1、修改include\lib\option.phpconst DEFAULT_MYSQLCONN = 'mysql'; 改为 const DEFAULT_MYSQLCONN = 'mysqli';//默认链接方式改为mysqli2、在/include/lib/cache.php$$row['option_name'] = $row['option_value']; 改为 ${$row['option_name']} = $row['option_value'];3、在admim/seo.php$$t 改为 ${$t}4、在admim/views/admin_log.php$$a $$b $$a 改为 ${$a} ${$b} ${$a}5、在admim/views/comment.php$$a = "class=\"filter\""; 改为 ${$a} = "class=\"filter\"";另外有些插件和主题是固定了使用mysql连接类,这样还需要修改插件和主题中的数据库连接方式,不然直接报数据库错误。比如:$DB = MySql::getInstance();都要改为$DB = Database::getInstance();此教程参考网上资料,仅供学习参考之用!!!
2019年11月17日
275 阅读
0 评论
0 点赞
2019-11-17
emlog各种判断页面代码
本文提供emlog最全的判断各种页面的方法,可以判断首页、分类页、标签页、搜索页、分页、归档页、作者页、日志页。因此可以实现不同页面显示不同侧边栏或者调用不同内容,也可以实现不同类型页面的标题修改。具体设置方法和之前的那篇《实现内页和首页显示不同的友链的方法》差不多,而日志页和单独页面page页好像没有发现有好的判断方法,暂且就将他们都归为内容页。其他的判断emlog判断判断首页、分类页、标签页、搜索页、分页、归档页、作者页、日志页的变量如下:$sortName //判断是否分类页 $sortid //分类id $tag //判断是否标签页 $record //判断是否归档页 $keyword //判断是否搜索页 $tws //碎语页 $logid //日志 page页 $type=='page' //判断page页 $author //作者页 $pageurl == Url::logPage() //首页,包含首页分页,一般用来分离列表页 "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL //判断是否是首页(PS:仅限当前域名,无任何后缀) $value['comnum'] > 10 //评论数大于10 $views >300 //浏览量大于300 $comnum > 10 && $views >300 //评论数大于10且浏览量大于300 使用方法:<?php if(判断标签){?>是当前标签的显示的内容 <?php }else{?>不是当前标签显示的内容,留空则不显示 <?php }?> 当然也可以多少判断放在一起的,例如:<?php if($sortName){?>分类页显示内容 <?php }elseif($tag){?>标签页显示内容 <?php }elseif($record){?>归档页显示内容 <?php }elseif($keyword){?>搜索页显示内容 <?php }elseif($logid){?>日志page页显示内容 <?php }elseif($tws){?>碎语页显示内容 <?php }?> 如果要实现不同id显示不同的结果,可以使用 判断标签==id 例如:<?php if($author == 1){?>作者id为1页显示内容 <?php }elseif($author == 2){?>作者id为2页显示内容 <?php }?> 多个判断放在一起可使用||,例如($logid || $keyword|| $tag)
2019年11月17日
234 阅读
0 评论
0 点赞
2019-11-17
EMLOG获取文章图片附件缩略图代码
EMLOG上传附件图片可以生成缩略图,在附件库数据表里会生成带有thum-的图片地址,所以我们使用代码调用文章附件图片时,可以设置条件优先调用带有thum-的缩略图,如果没有缩略图则调用原图,如果原图也没有,那就调用设置的随机图片;具体的实现代码如下,使用代码之前,先在模板文件夹下新建个rand文件夹,里面放随机的图片,图片命名从0.jpg到10.jpg,随机图片数量可在代码中修改,最后把代码复制到module.php里,在需要的地方调用即可。 <?php //获取文章缩略图 function lanye_logthum($logid){$db = Database::getInstance();$query = $db->query("SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$logid." AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png' OR `filepath` LIKE '%jpeg') ORDER BY `aid` ASC LIMIT 0,1");while($row = $db->fetch_array($query)){$imgpath = substr($row['filepath'],3,strlen($row['filepath']));}$imgarr = explode("/",$imgpath);$imgsurl = $imgarr[0].'/'.$imgarr[1].'/'.$imgarr[2].'/thum-'.$imgarr[3];if(empty($imgpath)){$randval = rand(0,10);return TEMPLATE_URL.'rand/'.$randval.'.jpg';}else{if(!file_exists(EMLOG_ROOT.'/'.$imgsurl)){return BLOG_URL.$imgpath;}else{return BLOG_URL.$imgsurl;}}}?>
2019年11月17日
233 阅读
0 评论
0 点赞
1
...
7
8
9