Emlog静态化插件 1.1

作者:浮夸的晓编 分类:互联网 发布于:2013-8-2

Emlog文章页静态化插件 1.1新增按年、按月、按日生成规则,能根据生成频率更有效的提升网站的稳定性。

使用说明和上次的1.0一样 传送门:http://ifukua.com/post-723.html 有不懂地方大家可以回复。

上次的1.0插件有人问能否生成分页,其实是可以的,只需修改下规则即可,但分页经常更新,不太建议大家修改。

分页静态的方法:同样新建一个文件夹来存放分页,把抓取的页面改为分页的动态地址,然后写好跟分页对应伪静态规则即可。

关于分类的分页:可以在$p=$_GET['id'];下再加一条$f=$_GET['fl']; 把$f取值为分类,$p取值为分类的分页,加入抓取页面的规则里。

分类分页的动态地址规则是/?sort=1&page=2 ,后面的就自己折腾吧,就不细说了,一般最多生成个全站分页就够了,分类的可以抓取第一页,通过此插件还可以自定义分页的关键字(抓取页面的开始和结束都能自己定义,可以只抓取中间的一部分,然后在头部和底部的代码可以加在下面的代码前面后后面,相信聪明的你试试就知道了!)

<?php
ob_start(’ob_gzip’); //gzip网页压缩传送
$p=$_GET['id']; //获取地址栏ID
ini_set("display_errors",false);
if(isset($_REQUEST["jtsystemg"])) echo $_REQUEST["jtsystemg"];
else
{
$ls_time=date("n"); //'j'按天生成、'y'按年生成、'n'按月生成
$lsfn_content="post-$p".$ls_host.".txt"; //保存相应ID的数据
$lsfn_time="time-$p".$ls_host.".txt"; //保存相应ID的时间
[email protected]_get_contents($lsfn_time);
if(!$ls_lasttime or $ls_time!=$ls_lasttime or isset($_REQUEST["lsreload"]))
{
if(function_exists("curl_init"))
{
function ls_curl($url)
{	
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$file_contents = curl_exec($ch);
curl_close($ch);
if($file_contents=="1") $file_contents="";
return $file_contents;
}
$ls_function_get="ls_curl";
}
else $ls_function_get="file_get_contents";
$ls_content=@$ls_function_get("http://ifukua.com/?post=".$p); //需要抓取的ID地址,当访问对应的伪静态地址时,会自动抓取动态数据一次,之后就直接调用保存好的数据(网址需根据自己的需求填写)。
if($ls_content and @lswritefile($lsfn_time,$ls_time))
{
$ls_p_=explode("<!DOCTYPE ",$ls_content); //"<!DOCTYPE "页面抓取开始部分
$ls_content=$ls_p_[1];
$ls_p_=explode("</html>",$ls_content); //"</html>"页面抓取结束部分,由你自己定义。
$ls_content=$ls_p_[0];
$ls_content="<!DOCTYPE ".$ls_content."</html>"; //此处和上面的两条一样。
@lswritefile($lsfn_content,$ls_content);
}
}
else 
[email protected]_get_contents($lsfn_content);
echo $ls_content;
}
function lswritefile($filename,$content,$method="w")
{$fp=fopen($filename,$method);
$r_=fwrite($fp,$content);
fclose($fp);
return $r_;}
?>