1、$lcft=filemtime(html_File);if($lcft+3600)time()/判断上次生成html文件是否超过1小时,若没有才直接输出文件内容echo(file_get_contents(html_File);exit(0);之后是现有的php的代码,然后在当前代码的最后面加上如下的php代码:htmlmeta,);$buffer=ob_get_flush();$fp=fopen(html_File,wif($fp)fwrite($fp,$buffer.htmlmeta);fclose($fp);好了,然后查看你的静态html页面,如果页面尾部出现了注释行,说明已经成功的创建
2、了静态html文件。这个方法的一个应用就是我先前写的那个“wordpress年度博客统计插件”,这个统计插件由于查询十多次数据库,很多人访问的时候会有很大性能问题,使用我介绍的这种动态生成html技术后,一天就查询一次,生成一次统计排行,完美解决了查询数据库的性能问题。篇二:php是一种脚本语言最初产生动态网页设计php是一种脚本语言最初产生动态网页设计。它已发展到包括一个命令行界面可在独立的图形应用程序。虽然php最初Rasmuslerdorf创建1995,php的主要实施现在由php集团生产和作为php的事实上的标准,因为没有正式的规范。php是免费软件,php许可下发布的,但是它是不符合
3、gnu通用公共授权(gpl),由于对术语php的使用限制。php是一种广泛使用的通用脚本语言,特别适合于web开发,可嵌入到html。它通常在web服务器上运行php代码,以作为其输入和创建网页的输出。它可以是百万的网站和1000000的web服务器。php最初代表个人主页。它开始于1994作为一套通用网关接口的二进制文件由丹麦格陵兰Rasmuslerdorf/程序员在c编程语言编写。doodler最初创建这些个人主页工具更换小套perl脚本,他一直用维护自己的个人主页。工具是用来执行任务,如显示他的和记录多少流量他的页面接收。他将这些二进制文件翻译他的形式创造php/Fi,具有更多的功能。p
4、hp/Fi包括c语言编程实现,更能与数据库,使简单的建筑,动态web应用程序。发布于1995年6月8日公开lerdorfphp加速bug定位和提高代码。这个版本被命名为php版本2已经有了基本的功能,php有今天。这包括像perl变量,形式处理,并且能够嵌入html。语法是类似于perl更有限的,简单的,不一致的。苏拉斯基zeev和andi特曼斯,在以色列理工学院两以色列开发商,重写了解析器在1997形成了php3的基础上,改变语言的递归缩写名称php:超文本预处理器。开发团队正式发布php/Fi2十一月1997个月后测试。后来,php3公开测试开始,而正式启动是在六月1998。苏拉斯基和特曼
5、斯然后开始一个新的php的核心重写,1999生产zend引擎。他们还成立了zend技术在以色列拉马特甘。2000年5月22日,php4,由zend引擎1驱动,被释放。20xx年7月13日,php5的发布,由新的zend引擎ii供电。php5中包括新的功能,如改进的支持面向对象编程,php数据对象扩展(它定义了一个轻量级的、一致的访问数据库的接口),和大量的性能改进。由php集团发布了最新的更新是年长的php版本4的代码分支。在八月,20xx这一的最高版本是4.4.9。php4是不再发展,也不会发布任何安全更新。20xx,php5成为唯一稳定的版本正在开发。后期静态绑定失踪已从php和将增加5.
6、3版。php6和php5的开发是在。主要的变化包括register_globals,去除魔术引号,和安全模式。对于拆迁的原因是因为register_globals了安全漏洞,和魔术引号有不可预知性,是最好的避免。相反,转义字符,魔术引号可能与addslashes()功能取代,或者更恰当地逃避机制具体到数据库厂商本身一样mysql_real_escape_string()mysql。php没有unicode或多字节字符串的完整的原生支持;支持unicode将包括在php6。许多高知名度的开源项目不再支持php4的新代码为20xx年2月5日,由于该gophp5倡议,由一个php开发者促进从php4
7、到php1397过渡联盟提供它运行在32位和64位的环境中,但在windows官方唯一的分布是32位,需要windows32位兼容模式被启用,而使用iis在64位windows环境。有一个第三方的分布可用64位的windows。php是一种通用的脚本语言,特别适合于web开发。一般在web服务器上运行php代码,以作为其输入和创建网页的输出。它也可以用于命令行脚本和客户端的gui应用程序。php可以部署在大多数web服务器,多个操作系统和平台,可用于许多关系数据库管理系统。它是免费的,和php组为用户构建提供了完整的源代码,自定义和扩展自己的使用。php是作为一个过滤器,以输入从文件或流中包含
8、文本和/或php指令和输出一个数据流;最常用的输出将html。它可以自动检测用户的语言。从php4,php解析器编译输入由zend引擎产生的字节码处理,从而在其翻译的前身改进性能。网络服务器(如sql数据库),发送垃圾邮件或有助于dos攻击使用的恶意软件,它可以安装在脆弱的服务器。这些漏洞大多不遵循最佳实践编程规则造成的:对语言本身或其核心库的技术安全缺陷不频繁。认识到程序员不可信任,一些语言包括污点检查自动检测输入验证诱使许多不足问题。这样的一个特征是正在开发的php。虽然它可能包括在未来版本中主流的php,其包含在过去已经拒绝了几次。php应用托管的服务器上需要小心注意应对这些安全风险。有
9、先进的保护片如了suhosin硬化斑块,特别设计的web托管环境。安装php作为cgi二进制而不是作为apache模块是为增加安全性的首选方法。相对于固定代码本身,php代码可以混淆使它难读而其余的功能。语法高亮的代码嵌入在htmlphp只能解析代码内的分隔符。在分隔符都是直接发送到输出端不解析php。最常见的是分隔符,分隔符,分别打开和关闭。分隔符也可。短标签可用于启动的php代码,。这些标签是常用的,但像asp风格标签(或关键字和语法,php是类似于大多数高级语言,c风格的语法。如果条件,for和while循环,函数返回在语法如c语言一样,c+,java和perl。php存储整数在依赖平台
10、的范围。这个范围是典型的32位有符号整数。无符号整数转换值在一定情况下;这种行为是不同于其他的编程语言。整数变量可以指定使用十进制(正、负),八进制和十六进制符号。浮点数也存储在一个平台的具体范围。他们可以使用浮点表示法指定,科学记数法或形式。php有一个本地的布尔型,类似于java和c+本地布尔类型。使用布尔类型转换规则,非零的值解释为假为真零,如perl和c+。无效的数据类型表示一个变量,没有价值。在空数据类型的唯一值为空。的“资源型”代表来自外部的资源的引用变量。这些通常是由从一个特定的扩展功能,只能进行功能相同的延伸;例子包括文件,图像,和数据库资源。数组可以包含任何类型的php可以处
11、理,包括资源要素,对象,甚至其他阵列。为了保存在值列表和哈希与键和值,和两可以混合在一起。php也支持字符串,可以使用单引号,双引号,或定界符。标准php库(spl)试图解决标准问题,实现高效的数据访问接口和类。php有成百上千的基函数和数以千计的通过扩展。这些功能是有据可查的php网站,但不幸的是,内置的图书馆有各种各样的命名规则和不一致。php目前已经没有功能的线程编程。功能不是一流的功能,只能通过他们的名字直接引用或变量包含的函数名称的动态。用户定义的函数可以创建在任何时间没有原型。功能可以在代码块中定义,允许运行时决定是否或不是一个函数应定义。调用的函数必须使用括号,随着零参数类的构造
12、函数调用php新算子的例外,其中括号是可选的。php支持准匿名函数通过create_function()功能,虽然他们不是真正的匿名函数因为匿名函数是无名的,但功能只能通过名称引用,或间接通过一个变量,在phpfunction_name()美元。php获得一流的函数和闭包的支持。真正的匿名函数使用以下语法:功能getadder($x)return函数(y元)使用(x)return$x+y元;$加法器=getadder(8);echo$加法器(2);/打印“10”在这里,getadder()功能创建一个闭包的使用参数x元(关键词“使用”部队从语境变),其中,等更多细节参见RFclambda函数和
13、闭包。基本的面向对象编程的功能被添加在php3和php4的提高。3对象处理重写php5,扩大功能,提高性能。在以前版本的php,物体像的原始类型的处理。这种方法的缺点是,整个对象被复制时,变量被分配或作为参数传递给方法。在新方法中,对象引用的处理,而不是由价值。php5引入了私有成员变量和方法和保护,随着抽象类和最终类以及抽象方法和最终的方法。它还引入了一个标准的方式声明的构造函数和析构函数,类似于其他面向对象的语言如c+,和一个标准的异常处理模型。此外,php5添加接口,允许多个接口来实现。有专门的接口允许对象与交互运行时系统。对象实现arrayaccess可以使用数组语法和对象实现迭代器或
14、iteratoraggregate可以使用foreach语言构造。在发动机里有没有虚表的特征,所以静态变量绑定而不是在编译时引用的名字。如果开发人员创建一个副本,使用保留字复制一个对象,zend引擎将检查_clone()方法已定义或不。如果不是,它会调用一个默认的_clone()将复制对象的属性。如果一个_clone()方法定义,那么它将负责设置在创建对象的必要性。为方便起见,该引擎将提供一个功能,进口的源对象的属性,使程序员可以开始篇三:动态生成网页浅淡php生成html的思路目前网络上好多网站的新闻发布系统都采用了动态服务器技术生成静态html的做法,这样做的好处是:一是能减轻其服务器的负
15、担,二是因为生成了html静态页面,所以其网站被搜索引擎搜索到的机率更大一些。笔者的网站曾经使用php这一动态技术来构建新闻发布系统,其原理也就是应用了php生成html静态页面的技术,相关平台是windowsxpsp2+php4.32+mysql,因此,在这里,想简单地谈一下这种做法的思路。这篇文章适合于对php+mysql数据库操作,sql语句以及网页设计有点基础的朋友,如果您是一个从头开始学的朋友,那么请先打好基础吧!到这里就不用往下看了。如果您都符合上述条件的话,那么恭喜您,请接着往下看。但是,在具体动手构建之前,您还要做好以下几点准备工作。一、具备本地调试php的功能在windows
16、xp操作系统下,笔者建议你可以到网上下载一个php+mysql+aphche的服务器套装,如华军软件园,去那里搜索一下就可以下载到。下载完后默认安装即可,这样您就具备了在本地测试php的功能了,省去了很多手动配置的麻烦,怎么样,简单吧,ok,这仅仅只是第一步。二、构思新闻发布系统所具备的功能首页的新闻发布往往是通过后台更新的,后台的更新无非是由添加、编辑、删除数据等基本的功能所实现的。在这里,你可以使用网页设计软件来构建你的想要的后台界面,其功能的实现当然是要用到php喽。这一步建议您先想好新闻发布系统要有的功能。在这里,如何用php添加、编辑、删除数据就不再重复,因为重点是如何在这基础上生成
17、静态技术。三、php生成html的技术原理。哈哈。费话说了那么多,终于到了该讲的地方了。其实,这一原理并不复杂,综合地来讲的话,应该是php中一个替换数据语法的应用。ok,讲一个简单范例吧,一步一步地分析!相信聪明的你能看得明白的咯,仔细看好每一步即可,在这里,只是引导大家如何做而已,具体的可以实践一下!(1)在mysql里新建一数据库,命名为database(可自定义),新建一表,命名为news(因为是新闻发布嘛,取个好记的名字即可,可自定义),然后建立这几个字段名:id(自动递增,这是关键,类型:int)title(顾名思义,新闻标题,类型可取text)content(新闻内容,类型可取t
18、ext)path(html文件路径,类型可取text)(2)建立conn.php这是连接数据库的php文件,你可以把连接数据的语句单独放在这一文件里,以后多个需要连接数据库的文件直接引用这个文件即可。(3)设计添加新闻的表格add.form简单的源代码如下:/提交至add.php新闻标题:新闻内容:(4)建立一个html的模板,另存为model.htm,和add.php可以在同一目录下。示例源代码:此新闻的标题:title此新闻的内容:content大括号内的内容即是要被替换的内容,整个静态模板的设计可以根据自己的思路,但内被替换的内容必须包含在内,如上面的title,content;咔咔简单
19、地说,设计好一个很好看的新闻模板后,把要被替换的如title,content等标记放到需要的地方就可以了撒。(5)详解add.php源码require_once(“conn.php”);/引用conn.php,连接数据库$title=$_post“title”;$content=$_post“content”;/获得表单变量/以下建立一文本文档,其值自动计数$countfile=count.txtif(!file_exists($countfile)fopen($countfile,/如果此文件不存在,则自动建立一个$fp=fopen($countfile,r$num=fgets($fp,20
20、);$num=$num+1;/每次其值自动加一fwrite($fp,$num);/更新其值/利用上面自动计数的值获得html的路径$path$houzui=”.html”;$path=$num.$houzui;/这样形成的路径是自动增长的,如1.html,2.html,3.html.添加一条新闻便自动加上1/以下用sql语句添加数据至表news$sql=”insertintonews(title,content,path)values(”.$title.”,”.$content.”,”.$path.”)”;$query=mysql_query($sql);/以下为关键之处,把从表单获得的数据替
21、换模板中的title,content标记$fp=fopen(“model.htm”,”rw”)/只读打开模板$str=fread($fp,filesize(“mode.htm”);/读取模板中内容$str=str_replace(“title”,$title,$str);$str=str_replace(“content”,$content,$str);/替换内容$handle=fopen($path,”w”);/写入方式打开新闻路径fwrite($handle,$str);/把刚才替换的内容写进生成的html文件fclose($handle);/收尾工作:echo“查看刚才添加的新闻”;ok,整个生成html的示例源码就到这里,其关键是用了替换的方法。$str=str_replace(“被替换的内容”,$替换的内容,$str);因此,总结一下以上的做法:先设计好新闻模板,把需要被替换的内容用放到模板中相应的位置,然后设计表单,再是最后的表单处理程序,把从表单中获取的变量替换模板中相应的内容即可,这样每次都会生成不同的html;如果需要修改html的内容也是一样的,获得修改后的表单内容后,先用update语句更新数据库,再重新替换一下模板中的内容即可;删除的话,先delete表中要删除的内容,再用unlink($path)来删除html的物理文件即可。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1