<?php
/**
* @author : Oracle Lee
* @desc : PHP生成静态html页面的原理,整理分析
*/
/**
* 方法一
* 使用模版生成静态html页面
*/
$fp = fopen (“templets.html”,”a”);
if ($fp){
$fup = fread ($fp,filesize(“templets.html”));
$fp2 = fopen (“test-one.html”,”w”);
if ($fwrite ($fp2,$fup)){
$fclose ($fp);
$fcolse ($fp2);
die (“写入模板成功”);
} else {
fclose ($fp);
die (“写入模板失败!”);
}
}
//简单的将模板写进一个文件中存为test-one.html
/**
* 方法二
* 根据时间生成html文件名
*/
$content = “这是一个以日期时间为文件名的静态生成网页的测试文件,
文件名格式一般为<font color=#ff0000>年月日时分秒.html</font>”;
$date = date(‘YmdHis’);
$fp = fopen (date(‘YmdHis’) . ‘.html’,”w”);
//本函数可用来打开本地或者远端的文件 ‘w’ 开文件方式为写入,
//文件指针指到开始处,并将原文件的长度设为 0。若文件不存在,
//则建立新文件。
if (fwrite ($fp,$content)){
//格式是.int fwrite(int fp(文件名), string string(内容),
//int [length](长度));本函数将字符串 string 写入文件资料流的指针 fp 上。
//若有指定长度 length,则会写入指定长度字符串,或是写到字符串结束。
fclose ($fp);//函数用来关闭已经打开的文件的指针 fp。
//成功返回 true,失败则返回 false。
die (“写入模板成功”);
} else {
fclose ($fp);
die (“写入模板失败!”);
}
echo ($content);
/**
* 方法三
* 要注意的是待转换的文件里不能有 ob_end_clean();和 ob_start();语句,且目录要有写权限。
*/
$s_fname = “93e.php”;
$o_fname = “93e.htm”;
ob_end_clean();
ob_start();
include($s_fname);
$length = ob_get_length();
$buffer = ob_get_contents();
$buffer = eregi_replace(“r”,””,$buffer);
ob_end_clean();
$fp = fopen($o_fname,”w+”);
fwrite($fp,$buffer);
fclose($fp);
?>
转载请注明:苏demo的别样人生 » PHP生成静态html页面的原理,整理分析