`
leeyea
  • 浏览: 14067 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

利用PHP模版生成静态的HTML

 
阅读更多

<?php
header('Content-Type:text/html;charset=utf-8');//编码设置
/*
*Powered by leeyea
*2011-11-16

大概步骤:

一、建立数据库news_db
news表字段:id、title、content、path(HTML文件路径)
二、提交数据的表单页面add.html
表单action到add.php
三、创建一个HTML模版model.html
<html>
<body>
新闻的标题:{title}
新闻的内容:{content}
</body>
</html>
模版说明:
1.模版界面根据自己的思路设计(前台美工)
2.预留出需要被替换的区域,用存放{title}和{content}
2.大括号{title}和{content}里面的标记必须存在,方便后面php函数来替换
*/

/************************************add.php 添加,数据处理页面*******************************/

//以下创建num_count.txt文本文档,其值自动计数
$txt="num_count.txt";//用来生成不同的文件名(数字)
if(!file_exists("$txt")){
fopen($txt,'w');//写入或创建的方式打开,如果此文档不存在,则自动创建test.txt文本文件
}
$fp=fopen($txt,'r');//如果存在,以只读的方式访问
$num=fgets($fp,20);//读取文档中20-1个字符数
$num=$num+1;//每次其值自动加1
fclose($fp);

$fp=fopen($txt,'w');
fwrite($fp,$num);//更新其值
fclose($fp);

//利用上面自动计数的值获得HTML静态路径path,并且生成的路径是自动增长的;
//如1.html、2.html…每增加一条新闻便自动加1
$houzui='.html';//网页格式后缀
$folder='newsfile/';//存放的文件夹名字
$path=$folder.$num.$houzui;//生成的文件名

//此处用sql语句把表单数据insert到数据表news中去
require_once('inc/conn.php');
$title=$_GET['title'];
$content=$_GET['content'];
$sql="insert into news (title,content,path)values('$title','$content','$path')";
$query=mysql_query($sql)or die('操作失败');
//以下是关键,把从表单获得的数据替换模版中的{title},{content}标记
$fp=fopen('model.html','r');
$str=fread($fp,filesize('model.html'));//读取模版中内容
$str=str_replace('{title}',$title,$str);//把表单来的变量替换到模版中的{title}
$str=str_replace('{content}',$content,$str);//把表单来的变量替换模版中的{content}
fclose($fp);

$page=fopen($path,'w');//写入方式促使其生成html页面,作为新闻标题链接的页面
fwrite($page,$str);//把之前模版里的内容写入生成的html页面
fclose($page);
/*---------------------------结束-----------------------------*/
//测试程序的运行
header("location:index.php");
//注:此页面不能刷新,否则会生成新的文件

/*******************************update.php更新数据************************************/

//接收传过来的文件路径作为数据库检索的条件

//先更新数据库
$sql="update news set title='$title',content='$content' where path='$path'";
$query=mysql_query($sql)or die('更新数据库记录失败');
//再打开更新对应的模版生成的html文件
$model=fopen('model.html','r');
$str=fread($model,filesize('model.html'));
$str=str_replace('{title}',$title,$str);
$str=str_replace('{content}',$content,$str);
fclose($model);
$page=fopen($path,'w');//打开待更新的页面
fwrite($page,$str);//写入新的数据
fclose($page);

/**************************************del.php删除数据************************************/

//先删除数据库中的对应记录
$sql1="delete from news where path='$path'";
$query1=mysql_query($sql1)or die('操作数据库失败');
mysql_close($conn);

//再删除物理文件
if(file_exists($path)){
unlink($path);
echo '删除物理文件成功';
}else{echo '<font color=#ff0000>要删除的物理文件不存在</font>';}
}


/*---------------------------思路总结-----------------------------
设计模版,把需要被替换的内容用{}放到模版相应的位置
修改也是一样,先用update语句更新数据库(以传过来的$path作为关键字检索);然后重新赋值给模版,再次打开生成的页面,把模版内容给它即可;
删除,先delete表中要删除的内容,再用unlink($path)来删除html的物理文件即可;
*/
?>

分享到:
评论

相关推荐

    动态生成静态HTML

    动态生成静态HTML是一种常见的Web开发技术,主要用于提升网站性能、减轻服务器压力以及提高搜索引擎优化(SEO)效果。C#作为一款强大的.NET平台编程语言,提供了丰富的库和框架来实现这一功能。以下是对这个主题的...

    PHP生成静态HTML的技术原理

    PHP生成静态HTML的技术原理主要涉及网站优化、性能提升和服务器负载均衡等方面,是现代Web开发中的常见实践。静态HTML页面相比于动态PHP页面,具有更快的加载速度和更低的服务器资源消耗,尤其对于高访问量的网站,...

    php生成静态文件 php生成html文件

    除了基本的OB技术,还可以结合其他PHP函数和特性,如模板引擎、变量替换等,来增强生成静态HTML文件的能力。例如,你可以使用Smarty这样的模板引擎,将动态数据与HTML模板分离,提高代码的可维护性。或者,你可以...

    把php生成静态(html)页面程序类

    把php生成静态(html)页面程序类 private $template; //模版 private $file_name; //文件名 private $array; //数据数组 function __construct($file_name, $template, $array) { //构造类 $this-&gt;...

    php模板与生成HTML

    在这个主题下,我们将深入探讨PHP模板的原理、常用的PHP模板引擎以及如何通过PHP生成静态HTML页面。 1. **PHP模板的基本概念** PHP模板是一种编程范式,允许开发者用PHP代码嵌入HTML,用于动态生成网页内容。它的...

    php批量生成静态页html

    用php语言批量生成静态页,可解决seo的问题,在商城,内容管理系统等地方都有很大的适用性。

    php静态 页面生成

    2. 执行需要生成静态页面的PHP代码。 3. 定义静态HTML文件的名称。 4. 写入缓冲区内容到静态HTML文件。 5. 关闭文件。 6. 返回缓冲区内容给浏览器。 这种方法虽然简单有效,但也有其局限性,例如无法自动更新静态...

    把php生成静态(html)页面程序类.zip

    总结来说,“把php生成静态(html)页面程序类.zip”提供的资源是一个实用的PHP工具,它帮助开发者将动态内容转换为静态HTML,从而提升网站的性能和用户体验。通过理解其工作原理和如何集成到现有项目中,开发者可以更...

    PHP生成静态页面小程序 v1.1.zip

    前几天发表一个有关PHP生成静态HTML页面小程序,有朋友私下说能不能整理一下,把相关PHP生成静态HTML,原理性强的都写出来,适合PHP新手用到的一些方法,这里我在之前的哪个版本上面又进行了完善,把PHP新手朋友要求...

    PHP生成静态页面(ob_start+smarty)生成

    总结起来,PHP生成静态页面的核心是利用`ob_start()`开启缓冲,通过Smarty处理和渲染模板,然后使用`ob_get_contents()`获取缓冲区的HTML内容,最后调用文件操作函数将内容写入静态HTML文件。这种方式虽然相对复杂,...

    PHP生成静态页 整站源码 适合新手

    当我们谈论"PHP生成静态页"时,我们指的是通过PHP脚本动态生成HTML页面,然后将其保存为静态文件,以便后续的用户请求可以直接访问这些预先生成的页面,而无需每次请求都执行PHP代码。这种方法可以提高网站的加载...

    最简单的php生成静态页的类

    2. `htmlpage.php`:这是核心的PHP类文件,它包含了生成静态页面的逻辑。这个类可能会包含以下功能: - 读取动态数据:通过数据库查询或者其他方式获取需要展示的数据。 - 处理数据:格式化、过滤或者进行其他操作...

    ASP生成静态Html文件技术

    本文主要探讨ASP生成静态HTML文件的技术,这种技术有诸多优势,包括提高搜索引擎收录效率,减轻数据库压力,以及加快网页加载速度。 1. **直接利用FSO(FileSystemObject)生成HTML文件** 在第一种方法中,ASP通过...

    php生成静态页面源码

    总结来说,PHP生成静态页面是将动态网站转变为静态HTML的一种策略,它涉及到了PHP模板引擎、数据库交互、文件操作以及URL管理等多个技术点。通过这种技术,可以提升网站性能,改善用户体验,同时也方便了搜索引擎的...

    php生成静态

    "PHP生成静态"是指利用PHP脚本来动态生成HTML页面,然后保存为静态文件,以提高网站的访问速度和减轻服务器负载。这种方法被称为静态化,是优化网站性能的一种常见策略。 静态网页通常由纯HTML构成,它们不依赖...

    php生成静态化实例

    6. **性能优化**:在生成静态文件时,还可以考虑一些性能优化策略,比如使用GZIP压缩减少文件大小,使用CDN服务分发静态资源,或者利用缓存技术(如Memcached、Redis)加速数据获取。 在"writeHtml"这个文件名中,...

    静态生成\php生成静态原理程序.rar

    综上所述,PHP生成静态页面是通过读取动态数据,结合HTML模板,再将结果写入静态HTML文件实现的。这一过程能显著提升网站性能,但也会带来管理和更新的挑战。"php生成静态原理程序.php"可能就是这样一个示例代码,供...

    生成生成静态文件文件

    总的来说,生成静态文件是一个涉及数据提取、模板渲染和文件操作的过程,常用于优化网站性能。在实际开发中,可以结合自动化工具(如Jekyll、Hugo或Gatsby)和持续集成/持续部署(CI/CD)流程,确保静态文件的生成和...

Global site tag (gtag.js) - Google Analytics