ob_start():开始“捕捉”缓存 也就是从这里开始 打开浏览器的缓存
ob_end_flush():关闭浏览器缓存
ob_get_content():读取缓存内容
fopen(" 文件路径","打开模式")打开文件 这个函数的打开模式有好几种 下面介绍几种主要的模式:
'r' 只读方式打开,将文件指针指向文件头。
'r+' 读写方式打开,将文件指针指向文件头。
'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
fwrite("文件名称","写入内容") 写入文件
fclose() 关闭文件
<?
# Copyright 2010 快乐飞扬
# http://iklfy.com / 供新手学习参考
ob_start(); //开始“捕捉”缓存
set_time_limit (0); //页面执行时间 24 * 60 * 60
/*
function randomkeys($length)
{
$output='';
for ($a = 0; $a < $length; $a++) {
$output .= chr(mt_rand(35, 126)); //33 到 126代表的正是ascii码表第一个函数中字符池里的所有字符
}
return $output;
}
echo randomkeys(8);
*/
function randomkeys($length)
{
$pattern = '1234567890abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLOMNOPQRSTUVWXYZ'; //字符池
for($i=0; $i<$length; $i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
$name = randomkeys(20); //生成随机数的位数
?>
<!-- 静态生成内容开始 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>缓存生成静态文件</title>
</head>
<body>
<div style="text-align:center; color:blue;font-weight:bolder;font-size:22px">
<p>
<li> 这里是生成到静态文件的内容!</li>
</p>
<br />
<p>
<li> 这里是生成到静态文件的内容!</li>
</p>
</div>
</body>
<html>
<!-- 静态生成内容结束 -->
<?php
$Folder ='Archives/';
$destination_folder = $Folder; // 判断目录是否存在,否则创建
if(!is_dir($destination_folder))
mkdir($destination_folder,0777);
$fileStr = ob_get_contents(); //读取缓存内容
ob_end_clean();
$url = urlencode($name);
$url = $url . ".html";
$fp = fopen($destination_folder.$url,"w");
fwrite($fp,$fileStr); // 缓存写入文件
fclose($fp); //关闭文件
echo "生成成功";
?>
<p><a href="<?php echo "Archives/".$name ;?>.html" target="_blank" title="<?php echo $name ;?>"> 查看生成文件</a></p>
</body>
</html>