EMLOG在SAE安装,缓存解决方案 emlog

在SAE安装了EMLOG之后(PS:安装也是蛋疼的事情,不过这不是这篇文章的重点,所以 不管。。。。)会提示目录不可写。这是因为EM的缓存是写在安装的目录下。

那么解决方式就是:

1.首先点击 Memcache ,然后初始化,会提示分配一个大小,按你博客的内容量来分配一个,像我这个博客,5M就够了,当然 你害怕以后不够,可以分配100M,不过,,,,,豆豆会消耗的很多(貌似是这样 -0 -)。。。




2.打开代码管理,编辑代码,在include\lib文件路径下上传以下文件覆盖cache.php



附件下载:cache .zip



本文来源于王小刀博客,原文地址:http://www.wangshizhao.cn/emlog/145.html

标签: emlog

admin 发布于  2015-6-2 23:13 

Emlog博客调用分类文章图文显示的方法 emlog

模板的module.php文件中放入如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //调用分类文章,图文显示
function sheli_tw($sort, $num){$db = MySql::getInstance();
$sql = "SELECT gid,title,date,content,sortid,views,comnum FROM ".DB_PREFIX."blog WHERE sortid=".$sort." AND hide='n' ORDER BY date DESC LIMIT 0,$num";
$go = $db->query($sql);while($row = $db->fetch_array($go)){
$img_url = TEMPLATE_URL.'images/sheli.jpg';//无图片时显示
if(pic_thumb($row['content'])){$img_url = pic_thumb($row['content']);//查找正文第一张图片
}elseif(picthumb($row['gid'])){$img_url = picthumb($row['gid']);//查找附件第一张图片
}else{$img_url;}?>
<li><p><a href="<?php echo Url::log($row['gid']);?>"><img src="<?php echo $img_url;?>" /></p><span><?php echo $row['title'];?></a></span></li>
<?php }}function picthumb($blogid) {$db = MySql::getInstance();$sql = "SELECT FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (filepath LIKE '%jpg' OR filepath LIKE '%gif' OR filepath LIKE '%png') ORDER BY aid ASC LIMIT 0,1";$imgs = $db->query($sql);while($row = $db->fetch_array($imgs)){$pict.= ''.BLOG_URL.substr($row['filepath'],3,strlen($row['filepath'])).'';}return $pict;}function pic_thumb($content){preg_match_all("/\<img.?src\=\"(.?)\"[^>]>/i", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}?>
调用方式:<?php sheli_tw(1,10);?>;其中1表示分类id,10表示数量


标签: emlog

admin 发布于  2015-6-1 23:14 

emlog去除分类目录前的sort emlog

把sort去掉,直接显示网址/分类别名 的形式,这样有利于搜索引擎收录,也使网址更加简明。



emlog去除分类目录前的sort修改方法:



首先确认你的站点支持Rewrite,确认支持Rewrite后进行如下操作:



1.修改include\lib\url.php文件,删除第102行和第104行的 sort/


2.修改include\lib\dispatcher.php文件,把第109行的


<pre style="overflow:auto" ;class="prettyprint lang-php linenums">return $path;
替换成
if($path!="/"&&substr($path,0,6)!="/sort/"&&substr($path,0,2)!="/?") {
return "/sort".$path;
} else {
return $path;
}
3.修改include\lib\dispatcher.php文件,把第109行的



<pre style="overflow:auto" ;class="prettyprint lang-php linenums">$path = str_ireplace('index.php', '', $path);
替换成
$path = str_ireplace('/index.php', '', $path);


标签: emlog

admin 发布于  2015-6-1 18:32 

Emlog获取相同作者的文章,可限制数量的方法 emlog

Emlog默认没有给予获取同一作者文章的相关功能;只是在列表也给出了相同作者的所有文章,下面就是Emlog获取相同作者的文章的代码,原构思来源于[啊宅],不够貌似博主写的不是很清楚,所以经过加工,让更多的Emloger受益。首页在模板的module.php文件中加入如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //获取相同作者的文章,可限制数量的方法
function sl_author(){$sl_zz=mysql_query("SELECT * FROM ".DB_PREFIX."blog WHERE author ='1' order by views DESC limit 0,10");while($sl = mysql_fetch_array($sl_zz)){?>
<li><a href="<?php echo Url::log($sl['gid']);?>" title="<?php echo $sl['title'];?>"><?php echo $sl['title'];?></a></li><?php
}}?>
其中author ='1' 中的标签作者id,limit 0,10中的0表示从第一篇文章开始,10表示数量;调用方法在你想要的地方放入<?php sl_author();?>即可。


标签: emlog

admin 发布于  2015-6-1 11:46 

emlog缩略图不同实现方法:正文-附件-随机图片 emlog

实现emlog列表也缩略图按先调用正文第一张图片,没有则调用附件图片,前2者都没有则调用随机图片,代码如下:首页在模板的module.php文件中加入如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
//全局匹配正文中的图片并存入imgsrc中
function img_zw($content){preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]>|is", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}
//Custom: 获取附件第一张图片
function img_fj($blogid){$db = MySql::getInstance();$sql = "SELECT
FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (filepath LIKE '%jpg' OR filepath LIKE '%gif' OR filepath LIKE '%png') ORDER BY aid ASC LIMIT 0,1";$imgs = $db->query($sql);$img_path = "";while($row = $db->fetch_array($imgs)){$img_path .= BLOG_URL.substr($row['filepath'],3,strlen($row['filepath']));}
return $img_path;}?>
然后在log_list.php中加入:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);
}elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);
}else{$imgurl = TEMPLATE_URL.'images/'.rand(1,5).'.jpg';}
?><p><img src="<?php echo $imgurl;?>" /></p>
以下代码直接替换上面代码,实现有调用正文第一张图片 => 附件图片 => 无图片则不显示。



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);?><p><img src="<?php echo $imgurl;?>" /></p>
<?php }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);?><p><img src="<?php echo $imgurl;?>" /></p>
<?php }else{}?>



标签: emlog

admin 发布于  2015-6-1 01:05