解析PHP生成静态html文件的三种方法

yipeiwu_com7年前PHP代码库
本文将介绍Php 生成静态html文件的三种方法 。
1,下面使用模版的一个方法!
复制代码 代码如下:

<?php
$fp = fopen ("templets.html","a");
if ($fp){
$fup = fread ($fp,filesize("templets.html"));
$fp2 = fopen ("html.shtml","w");
if ($fwrite ($fp2,$fup)){
$fclose ($fp);
$fcolse ($fp2);
die ("写入模板成功");
} else {
fclose ($fp);
die ("写入模板失败!");
}
}
?>
简单的将模板写进一个文件中存为html.html

2,按时间生成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);
?>

3,下面为转换文件名的一个方法
复制代码 代码如下:

<?php
$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);
?>

这样就可以把 93e.php转化为静态的HTML文件了 。要注意的是待转换的文件里不能有 ob_end_clean();和 ob_start();语句,且目录要有写权限。

相关文章

php中 ob_start等函数截取标准输出的方法

最近在用PHP在cli下开发一款软件,遇到了这样的问题。我想将PHP脚本中输出的东西收集在一起,于是使用了ob_start和ob_end_flush这两个函数,确实有达到收集输出内容的作...

php中使用Akismet防止垃圾评论的代码

然而,人无完人,插(件)无完插!Akismet也并非完美,最近, 我常在被Akismet评判为垃圾的留言中找到“好人”的留言,然而,有时时间长了就自动删除了,损失珍贵的友情和留言。 别忘...

PHP函数实现分页含文本分页和数字分页

PHP函数实现分页含文本分页和数字分页

最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。 // 分页分装 /** * $pageType 分页类型 1是数字分页 2是文本分页 * 可...

PHP实现获取毫秒时间戳的方法【使用microtime()函数】

本文实例讲述了PHP实现获取毫秒时间戳的方法。分享给大家供大家参考,具体如下: PHP获取毫秒时间戳,利用microtime()函数 php本身没有提供返回毫秒数的函数,但提供了一个mi...

自己写了一个php检测文件编码的函数

关于文件编码的检测,百度一下一大把都是,但是确实没有能用的、 很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出、 看到有人写了个增强版,用 B...