Typecho首页生成静态HTML的方法

前天我就将博客首页开启了HTML的生成,由于博客的程序用的是Typecho,生成静态是可以用插件的形式,不过我觉得,为了这个一个小功能上一个插件,也不是很有必要的。那么我要怎么将首页生成HTML呢,最直接的老师的就是Google了,很简单,关键词“Typecho 首页静态”。

找到的第一个便是我要的东西了,打开时Typecho的官方讨论区,我这才想起,其实在很久前我就看过了,只是当时觉得没什么必要,所以也没去细看。没想到这次还真的需要用到了这个东西。

代码其实也就是讨论区贴的,这里就直接的Copy了一份,由于我也是使用这个代码,就直接Copy吧~~~

<?php
$nowtime=time();
$pastsec = $nowtime - $_GET["t"];
if($pastsec<600)
{
exit; //10分钟更新一次,时间可以自己调整
}
ob_start(); //打开缓冲区
include("index.php");
$content = ob_get_contents(); //得到缓冲区的内容
$content .= "\n<script language=javascript src=\"f5.php?t=".$nowtime."\"></script>"; //加上调用更新程序的代码

file_put_contents("index.html",$content);
if (!function_exists("file_put_contents"))
{
function file_put_contents($fn,$fs)
{
$fp=fopen($fn,"w+");
fputs($fp,$fs);
fclose($fp);  
}
}
?>

这个文件名可以任意起,放在根目录就好了。然后代码里面的文件名要跟你自己的文件名一个,如这里是f5.php,我就改为cache.php,注意,保存为utf8的编码,这个不用再提醒了吧。

上传到根目录后,浏览器打开以下你的这个文件,如:itlu.org/f5.php,浏览器完全打开后,没显示任何东西,没错了!这个文件是不输出任何东西的,刷新下你的FTP根目录,看到一个index.html了吧~好了,下次就会自动生成了。

然后查看首页代码,末尾出现“<script language=javascript>......”之类的字眼,说明你访问的就是index.html的页面,到此,完工!

上一篇文章介绍到php压缩HTML的方法,其实本来是一句评论而已,我想着,压缩下也是好的,就用了一个PHP函数,在输出HTML之前给压缩了下,现在看到的首页,就是压缩后的html,不过大小是不会小很多的。

将上一篇的代码放到生成HTML的文件里面,在输出html之前,调用一下函数就好了~~~不过会剔除源码里面的某些你不想去掉的可能,也有可能存在BUG,详情还是看上一篇吧【PHP压缩html网页代码

查看 HTML php JavaScript Typecho的相关文章

转载本站原创文章请注明:文章转自 挨踢路,链接: https://986554.ykncch.asia/articles/1857.html

评论列表(36条)

  1. wordpress也是可以通用吧!

    1. 是的,通用的~

  2. 学习,技术性文章,能用到WP,很实用。

  3. 原来还能靠这样让访客帮助执行PHP呢……

    1. 嘿嘿,这个方法是最简单的

  4. 看了你这篇文章,给我博客装了个cos-html-cache插件。。。

    1. 你的速度本来就很快的啦。不过我前几天就去掉了这个生成静态的方法了。。

      1. 为什么要去掉呢?有什么不好吗?

        1. 之前慢,我以为是主机问题,所以才生成html来解决慢的问题,后来发现,是某个代码有问题,处理了后,就快了。那静态也就没什么必要了

          1. 这个我还不懂。是不是说,只要加载速度比较快,对于搜索引擎来说不管是静态还是动态都一样了?从SEO方面来说。

          2. 是哪个代码的问题呢,我现在的网站打开速度很慢,一直没有找到原因。

  5. 受教了,正想将Typecho全站生成静态呢,其实生成静态,对整个网站的性能还是有非常大的提升的。

    1. 先禁用头像缓存插件再试试。我之前开启头像缓存就爆慢,禁用就快多了

      1. 真的是头像缓存插件的问题,禁用掉后速度要快很多了,请问,你目前的头像缓存是如何实现的呢?

        1. 目前木有缓存头像,反正直接这样子也不会很慢。首页就是LOAD了10个头像而已。头像服务器自己有缓存和CDN的

  6. 厉害的功能

  7. 谢谢博主,好东西,先拿走了挂在自己的博客上

    1. 不客气,但这个东西用起来也没太大的优势,毕竟Typecho本身就很快了

  8. 谢谢博主分享这个技术,终于解决我网站首页生成静态页面的问题。

  9. 博主的文章非常棒!不过我觉得那个时间戳放在url上不合适,容易被人利用发起CC攻击,只要用稍微小一点的时间戳就能触发写文件操作,我技术一般借鉴博主的代码也实现了一个脚本。链接是:http://yusure.cn/php/202.html。有需要的人可以参考一下。

    1. 这样不是变成手工更新缓存了吗?不然要校验密码,什么时候传密码进去校验呢

  10. 比如说 新发布了一篇文章,我想第一时间能看到他,就可以用带校验码的链接去访问就生成新文件了,也可以改代码在新增或编辑文章的时候触发一下。

    1. 辣鸡畅言,还需要绑定手机才可以评论。。。赶紧换掉吧。

      1. 是的 真他妈垃圾 用上就后悔了 有时候还登录密码错误。 正在换 。。。

        1. 既然用Typecho,为何不直接用原生的评论呢?

          1. 已经换回原生的了。兜了一圈 发现第三方的都那么麻烦。

  11. 回复sunpmasunpma

    已经照着做了,也生成了静态HTML,打开也是静态HTML,但为什么不自动更新呢?然后把600改成300也不行呢?直接复制的代码,没有做修改,是哪里设置错了吗?

    1. 是代码错了。博客程序内置了一个置换功能,没有将这篇文章排除掉,导致也被置换了部分代码。麻烦重新复制一遍

  12. 好用 起飞~

    1. 真的是哪都能看到你啊

      1. 你这是来我的地盘抓人了吗

        1. 哈哈哈,其实我是来找教程的

  13. 这个代码是只运行第一次,后面就会自动刷新首页吗?

    1. 对的,自动更新

  14. 回复EdisonEdison

    您好,为什么我设置后,打开index.html是空白的,谢谢。

添加评论

您好,#请填信息# 确定

打赏请博主喝水
LOADING