wecenter生成静态化代码
说道网站优化,提高网站速度,需要从很多地方出发。
比如wecenter,它的查询太多,查询出来的字段也非常多,这其实是很占效率的。
但是我们没有办法改变它,毕竟作者这么写了,就算你优化完,升级后还是会回复的。
所以我们要做的就是如何减少数据库查询。
那在编程语言里来说,减少数据库查询,那肯定就是用缓存。
但是并不是所有人的服务器或空间都支持内存缓存的,所以我们这里用纯静态化缓存。这也有助于CDN加速。比如如下图:
废话不多说,我们开始教大家如何编写这段代码。
打开 / 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), '
暂无评论