pbootcms网站系统操作教程:pbootcms自动强制刷新教程

pbootcms网站系统操作教程:pbootcms自动强制刷新教程

pbootcms网站系统操作教程:pbootcms还在教客户强制刷新么?弱爆了,快来试试这个,让网站css和js自动添加版本号,做得自动强制刷新网站。

为什么前端效果客户看不到?

甲方:搞什么!我没看到效果啊!

前端:我好难啊,我明明改了,你多刷新几次,强制刷新试试,就是键盘左下角那个键跟F5一起按….

这个大概就是前端工程狮一个很日常的对话了。为什么总是出现这种情况呢?

因为我们的浏览器会有缓存,让网站访问更快。

这样好处不多说了,缺点就是前端更新了文件,浏览器没有及时更新缓存。

同学们大多都是这样来解决的,手动在模板里为css文件(或其他需要更新缓存的文件)追加一个参数,或者叫版本号。

例如:

<link rel='stylesheet' href='css/custom.css?ver=1.0' type='text/css' />

以上?ver=1.0,就是我们前端加上的,为了让浏览器知道我这个文件更新了。

你快来抓取我最新的。然后不停的修改,不停的更新版本号,一直到一刀?ver=999。

这也是一个很痛苦的过程。 那么有没有一个优秀的解决方案呢?答案是有的,看这里。

pbootcms教程,pbootcms技术,pbootcms模板-王玄策资源网
pbootcms教程,pbootcms技术,pbootcms模板-王玄策资源网

解决方案

先介绍一个PHP函数:filemtime。

filemtime() 函数返回文件内容的上次修改时间。
如果成功,该函数将以 Unix 时间戳形式返回文件内容的上次修改时间。如果失败,则返回 FALSE。

我们来利用这个文件修改时间戳做些文章,写一个方法:

 //自动更新时间版本号
    public function auto_version($url){
        $ver = filemtime(DOC_PATH . $url);
        return $url.'?v='.date("YmdHis",$ver);
    }

将文件路径传入,我们就会返回一个带参数的新路径,这样就完成了根据文件更新时间自动生成版本号的过程

因为我严重推荐您使用上面这个扩展,上面的文章中已经集成了这个功能,并且对模板素材:图片、js、css等都做了相关优化。

至少不用每次写个路径都要写一遍:{pboot:sitepath},多画蛇添足啊。

分享到 :
相关推荐