时间:2021-07-01 10:21:17 帮助过:7人阅读
输出静态文件内容 exit; }else{//如果已过期 unlink($goods_statis_file);//删除过期的静态页文件 ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents();//把详情页内容赋值给$content变量 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 ob_end_flush();//输出商品详情页信息 } }else{ ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents();//把详情页内容赋值给$content变量 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 ob_end_flush();//输出商品详情页信息 } ?>
- <!--?<span>php
- </span><span>$gid</span> = <span>$_GET</span>['gid']+0;<span>//</span><span>商品id</span>
- <span>$goods_statis_file</span> = "goods_file_".<span>$gid</span>.".html";<span>//</span><span>对应静态页文件</span>
- <span>$expr</span> = 3600*24*10;<span>//</span><span>静态文件有效期,十天</span>
- <span>if</span>(<span>file_exists</span>(<span>$goods_statis_file</span><span>)){
- </span><span>$file_ctime</span> =<span>filectime</span>(<span>$goods_statis_file</span>);<span>//</span><span>文件创建时间 </span>
- <span>if</span>(<span>$file_ctime</span>+<span>$expr</span>--><span>time</span>()){<span>//</span><span>如果没过期</span>
- <span>echo</span> <span>file_get_contents</span>(<span>$goods_statis_file</span>);<span>//</span><span></span>
2.使用nosql从内存中读取内容(其实这个已经不算静态化了而是缓存);
以memcache为例:
输出商品详情页信息 } ?>
- <!--?<span>php
- </span><span>$gid</span> = <span>$_GET</span>['gid']+0;<span>//</span><span>商品id</span>
- <span>$goods_statis_content</span> = "goods_content_".<span>$gid</span>;<span>//</span><span>对应键</span>
- <span>$expr</span> = 3600*24*10;<span>//</span><span>有效期,十天</span>
- <span>$mem</span> = <span>new</span><span> Memcache;
- </span><span>$mem</span>--->connect('memcache_host', 11211<span>);
- </span><span>$mem_goods_content</span> = <span>$mem</span>->get(<span>$goods_statis_content</span><span>);
- </span><span>if</span>(<span>$mem_goods_content</span><span>){
- </span><span>echo</span> <span>$mem_goods_content</span><span>;
- }</span><span>else</span><span>{
- </span><span>ob_start</span><span>();
- </span><span>//</span><span>从数据库读取数据,并赋值给相关变量
- //include ("xxx.html");//加载对应的商品详情页模板</span>
- <span>$content</span> = <span>ob_get_contents</span>();<span>//</span><span>把详情页内容赋值给$content变量</span>
- <span>$mem</span>->add(<span>$goods_statis_content</span>,<span>$content</span>, <span>false</span>, <span>$expr</span><span>);
- </span><span>ob_end_flush</span>();<span>//</span><span></span>
memcached是键值一一对应,key默认最大不能超过128个字节,value默认大小是1M,因此1M大小满足大多数网页大小的存储。
以上就是页面静态化的相关方法,希望对朋友们有所帮助
每天更新精彩技术文章,尽在www.phpskill.com
php纯技术学习交流群: 323899029
原文来自:http://www.phpskill.com/html/show-1-4418-1.html
以上就介绍了掌握常见的几种页面静态化的方法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。