wecenter生成静态化代码

三叔
三叔 http://www.sanshu.cn

1 人点赞了该文章 · 2045 浏览

说道网站优化,提高网站速度,需要从很多地方出发。

比如wecenter,它的查询太多,查询出来的字段也非常多,这其实是很占效率的。

但是我们没有办法改变它,毕竟作者这么写了,就算你优化完,升级后还是会回复的。

所以我们要做的就是如何减少数据库查询。

那在编程语言里来说,减少数据库查询,那肯定就是用缓存。

但是并不是所有人的服务器或空间都支持内存缓存的,所以我们这里用纯静态化缓存。这也有助于CDN加速。比如如下图:

image.png  

废话不多说,我们开始教大家如何编写这段代码。

打开 / system/function.app.php

追加方法:

function createHtmlFile($FilePath,$Content){    
// 去掉文件名中的一些非法符号
$FilePath = preg_replace('/[ <>\'\"\r\n\t\(\)]/', '', $FilePath);

$dir_array = explode("/",$FilePath);

//split the FilePath
$max_index = count($dir_array) ;
$i = 0;
$path = $_SERVER['DOCUMENT_ROOT']."/"; // 获取网站的根目录,比如/home/username/

while( $i < $max_index ){
$path .= "/".$dir_array[$i]; // 把子目录一级一级加到路径上
$path = str_replace("//","/",$path); // 如果有//则替换成/

if( $dir_array[$i] == "" ){ // 如果这目录值为空则跳过去,这个判断放在循环的最前面可能更合适
$i ++ ;
continue;
}
// 上面的代码似乎可以写得更精练

if( substr_count($path, '&') ) return true; // 如果路径中有&符号,这不好处理,不管了
if( substr_count($path, '?') ) return true; // 有?也不管了
if( !substr_count($path, '.htm') ){ // 如果不包含.htm,原来传了个路径进来

if( !file_exists( $path ) ){
@mkdir( $path, 0777);
@chmod( $path, 0777 );
}
}
$i ++; // 这个搞完,继续
}

if( is_dir( $path ) ){ // 如果上面折腾完后,发现是个目录,那就是说要创建index.html
$path = $path."/index.html";
}

// 如果html页面没创建完整,那还是不管算了
if ( !strstr( strtolower($Content), '

发布于 2019-12-10 12:18

免责声明:

本文由 三叔 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论