PHP生成HTML纯静态网页程序代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-28 10:40:24 浏览: 评论:0
关于用PHP如何实现全站静态化处理的内容,这样让php生成HTML纯静态网页,让访问速度更快,代码如下:
- //在开始处加入 ob_start();
- ob_start();
- //以下是代码
- //在结尾加入 ob_end_clean(),并把本页输出到一个变量中
- $temp = ob_get_contents();
- ob_end_clean();
- //写入文件
- $fp = fopen(‘文件名','w');
- fwrite($fp,$temp) or die(‘写文件错误');
这只是最基本的方法,还不是很实用,因为网站是要更新的,要定期重新生成HTML,下面是我用的方法,代码如下:
- if(file_exists(“demo.html”))
- {
- $time = time();
- //文件修改时间和现在时间相差半小时一下的话,直接导向html文件,否则重新生成html
- if($time - filemtime(“demo.html”) < 30*60)
- {
- header(“Location:demo.html”);
- }
- }
- //在开始处加入 ob_start();
- ob_start();
- //页面的详细内容
- //在结尾加入 ob_end_clean(),并把本页输出到一个变量中
- $temp = ob_get_contents();
- ob_end_clean();
- //写入文件
- $fp = fopen(‘demo.html','w');
- fwrite($fp,$temp) or die(‘写文件错误');
- //重新导向
- header(“Location:demo.html”);
上面的方法在大批生成时可能不是最好的办法了,我们来看另一段代码:
- <?php
- if($_GET[pg]==''){
- $aa=1;
- }else{
- $aa=$_GET[pg];
- }
- include("admin/conn.php");
- require_once("page.php");
- $result=mysql_query("select * from 2carsell ");
- $totle=mysql_num_rows($result);
- $pagelist = $_GET[t];
- if($_GET[t]==''){
- $pagelist='200';
- }else{
- $pagelist=$_GET[t];
- }
- $pager = new Pager($totle,$pagelist);
- $datastat=" 共 <b>".$pager->countall."</b> 条,每次生成 <b>".$pager->countlist."</b> 条,共需生成 <b>".$pager->page."</b> 次";//数据统计
- $bb=$pager->page;
- $pagenav=$pager->backstr.$pager->thestr.$pager->nextstr;
- $limitFrom = $pagelist*($pager->pg-1);
- $result=mysql_query("select * from 2carsell ORDER BY id DESC limit $limitFrom,$pagelist");
- ?>
- <center><div style="font-size:14px;"><b>第 <font color=red><?echo $aa?></font > 次页面生成中..<? echo $datastat?></b></div><br>
- <?
- print "<center><textarea name=textarea class=textarea style='width:520px;height:455px'>";
- while($datauser=mysql_fetch_array($result)){
- $iid=$datauser[id];
- $html = file_get_contents("/moban.php?id=".$iid."");
- $sql="select * from 2carsell where id=$iid";
- $data=mysql_fetch_array(mysql_query($sql));
- $path=date("Ym",$data[PutDate]);
- $testdir="html/".$path;
- if(file_exists ($testdir)):
- else:
- mkdir ($testdir, 0777);
- echo "目录".$testdir."创建成功!<br>";
- endif;
- $filename = "html/$path/sell_$iid.html";
- // 使用写入模式打开$filename
- if (!$handle = fopen($filename, 'w')) {
- print "不能打开文件 $filename";
- exit;
- }
- if (is_writable($filename)) {
- // 将$html写入到我们打开的文件中。
- if (!fwrite($handle, $html)) {
- print "不能写入到文件 $filename";
- exit;
- }
- print "文件 $filename 更新成功!nr";
- fclose($handle);
- } else {
- print "文件 $filename 不可写";
- }
- ?>
- <? }?>
- </textarea>
- <br><br>
- <div style="font-size=12px"><? echo $datastat." "?></div><br><br>
- <?
- $aa=$aa+1;
- if($aa>$bb){
- echo '<font color=blue>恭喜,所有页面生成完毕!</font>';
- echo "<script>alert('所有文档生成/更新完毕!')</script>";
- }else{
- echo "<Script> window.location='make.php?t=$pagelist&pg=$aa'; </script>";
- }
- ?>
说明:原动态地址为 moban.php?id=1,生成后地址为 html/200808/sell_1.html,page.php为分页程序.
页面使用方式,将本代码保存为make.php,使用方法为浏览器访问 make.php?t=数量&pg=页面,例如 make.php?t=300&pg=2,即每次生成300条数据,从数据列表第2页开始生成,即跳过前面300条,如果不加任何参数,直接访问make.php,则默认每次生成200条,从第一页开始生成.
Tags: PHP生成HTML 纯静态网页
- 上一篇:PHP中获取URL完整路径程序代码
- 下一篇:php伪造IP地址与来源程序代码
相关文章
- ·php技术生成静态页面的实现(2013-11-13)
- ·php生成html静态页面完整实例(2014-07-07)
- ·php中静态化生成的方法(2014-09-22)
- ·PHP使用ob_start生成html页面的方法(2021-04-24)
- ·php生成html文件方法总结(2021-05-01)
- ·使用PHP实现生成HTML静态页面(2021-06-26)
- ·php生成HTML文件的类方法(2022-01-01)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)