PHP生成静态HTML页面的方法(2种方法)
因为以前没有相关的经验,一开始就觉得这项技术很神秘,但看到一些例子后并不那么复杂(但网上信息并不是特别详细),经过一个上午和下午的测试,终于完成了这里的任务,有一些提示和一个简单的例子。
我希望大虾们不要嘲笑我。
一般来说,通过使用PHP输出html页面引用大虾有两种方法。
第一:使用模板。
目前,PHP的模板可以说是很多的,强大的聪明,简单和易于使用的该,等等。他们每个人都有一个函数来得到输出的内容。我们的方式生成静态页面是使用这个功能。这种方法的优点是代码清晰易读。
在这里我使用Smarty为例说明如何生成静态页:
< PHP
要求( / Smarty Smarty。类。PHP );
$ T =新的Smarty;
赋值(标题
内容获取;
这里是获取(/)()函数来获取输出,$内容变量现在在要显示的内容内。
$ FP = fopen(档案 / 2005 / 05 / 19 / 0001。HTML
fwrite($ FP,$content);
Fclose($ FP);
>
第二种方法:使用OB系列函数。
这里使用的主要功能是(ob_start),ob_end_flush(),ob_get_content(ob_start),这是()打开浏览器缓存,打开缓冲后由文件头信息发送所有非PHP程序不存储在缓冲区内,但是,除非你使用(ob_end_flush)。这一功能是最重要的,是ob_get_contents(),这个函数的作用是获取缓冲区的内容,取上述等效,同样的原因()。
< PHP
ob_start();
你好世界!;
$content = ob_get_contents(PHP); / /把所有内容页输出
$ FP = fopen(档案 / 2005 / 05 / 19 / 0001。HTML
fwrite($ FP,$content);
Fclose($ FP);
>
我选择的第二种方法是使用OB系列函数。
当我开始看这个时,我还不知道它有一点,我才意识到ob是输出缓冲,这意味着输出缓存。
当您准备好输出时,所有数据都存储在OB中。服务器解析PHP后,输出到客户机的所有HTML代码都存储在OB中。如果我们想输出HTML静态页面,只需删除缓存并将其写入HTML页面。
所以原则很简单。
我在这里使用了一些函数,因为我学到了很多我不知道的PHP函数,希望能帮到您。
ob_start():开始捕捉缓存,就是从这里开始浏览器的缓存
ob_end_flush():关闭浏览器缓存
ob_get_content():读取缓存的内容
Fopen(文件路径,打开模式)打开文件的打开方式。下面介绍几种主要模式:
R只读模式打开,将文件指针指向文件头。
读取和写入模式打开,并将文件指针指向文件头。
W写模式打开,将文件指针指向文件头,并将文件大小减为0。如果文件不存在,请尝试创建它。
W +读写模式打开,将文件指针指向文件头,并将文件大小减为0。如果文件不存在,请尝试创建它。
Fwrite(文件的名字,写的内容)写入一个文件
Fclose()关闭文件
因为我想转换为HTML文件可能有数百个非常这里不能指定我们可以设置一个路径变量可以保存用户的ID和其他信息,以便于下面的HTML文件名函数的静态路径是一个简单的XML数据实例看我最后的PHP
< PHP
(ob_start / /);打开浏览器缓存
下面是读xml数据
解析器=(xml_parser_create美元); / /创建分析器编辑
xml_set_element_handler($解析器,startElement
xml_set_character_data_handler($解析器,characterdata); / /建立相应的函数读取数据
xml_file美元=1。XML ; / /指定读取XML文件,可以是URL
filehandler美元= fopen(xml_file美元,R); / /打开文件
而($data = fread(filehandler美元,4096))
{
xml_parse($解析器,$数据,外汇经营资金($ filehandler));
以4096字节进行处理
Fclose(filehandler美元);
xml_parser_free($ / /分析器);关闭并释放解析器解析器
$ = false;
$位置= false;
功能startElement(parser_instance美元美元美元,element_name,attrs) / /功能启动标签事件
{
全局$名称,$位置;
如果($ element_name = =名字)
{
name =真;
$位置= false;
;
}
如果($ element_name = =位置)
{ $ = false;
$位置=真;
回声位置:;
}
}
功能characterdata(parser_instance美元,美元xml_data) / /函数读取数据
{
全局$名称,$位置;
如果($位置)
echo $ xml_data。;
如果(名字)
echo $ xml_data。;
}
功能EndElement($ parser_instance,element_name美元) / /功能结束标签事件
{
全局$名称,$位置;
$ = false;
$位置= false;
}
xml数据读取完成
htmlname美元=美元ID.html; / / $ ID可以定义自己的身份在这里代表的用户
htmlpath美元=档案 / 。htmlname美元; / /设置PATH变量
$content = ob_get_contents(PHP); / /把所有内容页输出
$ FP = fopen(htmlpath美元,W);
fwrite($ FP,$content);
Fclose($ FP);
>
以上是为PHP共享静态HTML页面的方法(2种方法),希望您喜欢它。