如何使php文件被访问时被解释后生成一个完整的html页面文件(也就是静态完整的html缓存)
用户访问页面时,判断缓存时间是否过期,过期就调用php文件并更新html缓存文件,没过期就直接调用html缓存文件。请各位高手教我如何生成缓存和更新缓存(这些缓存是整个页...
用户访问页面时,判断缓存时间是否过期,过期就调用php文件并更新html缓存文件,没过期就直接调用html缓存文件。请各位高手教我如何生成缓存和更新缓存(这些缓存是整个页面)
展开
展开全部
做文件判断,根据文件名判断文件是否存在,存在访问html不存在开始缓存
更多追问追答
追问
你能告诉我缓存具体怎么写吗?
追答
我这有两种方法你看一下:
Memcache
.下载memcached, http://www.danga.com/memcached/ ; 2.解压,比如放在 D:\memcached-1.2.1 ; 3.DOS下输入‘D:\memcached-1.2.1\memcached.exe -d install’,进行安装(注意‘’不要输入); 4.再次输入‘D:\memcached-1.2.1\memcached.exe -d start’启动memcached。 注意:memcached以后会随机启动。这样memcached就已经安装完毕了。
$memcache = new Memcache;
$memcache->addServer('172.19.5.199',11211);
$memcache->addServer('172.19.5.13',11211);
//$memcache->connect('localhost', 11211) or die ("Could not connect");
//$version = $memcache->getVersion();
//echo "Server's version: ".$version;
$memcache->set('key3',array(1,2,3));
var_dump($memcache->get('key3'));
ob
ob_start()
$content = ob_get_contents();
ob_clean();
$cache_file = fopen('f:\1.html', 'w+');
fwrite($cache_file, $content);
页面静态化--------------------------------------
ob_start();
$static_file = '1.html';//静态页面
$php_file = basename(__FILE__);//当前动态页面
if (!file_exists($static_file) ||
((filemtime($static_file)+10) filemtime($static_file)) //源文件已修改
{
echo '静态页面示例';
echo 'erer';
$c = ob_get_contents();
ob_clean();
file_put_contents($static_file, $c);
}
$s = file_get_contents($static_file);
echo $s;
-------------------------------------------------
ob_implicit_flush($p) $p:0:关闭 1:开启(每次输出后都自动刷新,而不再需要去调用flush())
ob_list_handlers 列出所有使用的输出句柄
output_add_rewrite_var
output_add_rewrite_var('var', 'value');
echo 'link';
输出:link
output_reset_rewrite_vars
output_add_rewrite_var('var', 'value');
echo 'link';//输出:link
ob_flush();
output_reset_rewrite_vars();
echo 'link';//输出:link
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询