电脑安全

您当前的位置:主页 > 电脑安全 >

php生成静态html页面方法-网络编程

来源:[db:来源]标题:   文件    编辑:电脑技术全能网 时间:2019-09-21 12:24

原标题:php生成静态html页面方法-网络编程
   上面讲的是用php天生动态html页面方式哦,方式有几种,列位友人能够依据本人的现实情形来完成。 第一种:应用模板。现在PHP的模板能够说是许多了,有功效强盛的smarty,另有简略易用的smarttemplate等。它们每一种模板,都有一个猎取输入内容的函数。咱们天生动态页面的方式,就是应用了这个函数。用这个方式的长处是,代码比拟清楚,可读性好。 这里我用smarty做例子,阐明怎样天生动态页require('smarty/Smarty.class.php');$t = new Smarty;$t->assign("title","Hello World!");$content = $t->fetch("templates/index.htm");//这里的 fetch() 就是猎取输入内容的函数,当初$content变量外面,就是要表现的内容了$fp = fopen("archives/2005/05/19/0001.html", "w");fwrite($fp, $content);fclose($fp);?> 第二种方式:应用ob系列的函数。这里用到的函数重要是 ob_start(), ob_end_flush(), ob_get_content(),此中ob_start()是翻开扫瞄器缓冲区的意义,翻开缓冲后,全部来自PHP顺序的非文件头信息均不会发送,而是保留在外部缓冲区,直到你应用了ob_end_flush().而这里最主要的一个函数,就是ob_get_contents(),这个函数的感化是猎取缓冲区的内容,相称于下面的谁人fetch(),情理一样的。代码:ob_start();echo "Hello World!";$content = ob_get_contents();//获得php页面输入的全体内容$fp = fopen("archives/2005/05/19/0001.html", "w");fwrite($fp, $content);fclose($fp);?> 我选用的第2种方式 也就是用ob系列的函数 我刚开端看这个的时间有点不太清楚 厥后才晓得ob是output buffering的意义 也就是输入缓存当你预备输入的时间 全部的数据都保留在ob外面 效劳器剖析完php当前 把全部要输入到客户真个html代码都寄存在ob外面 假如咱们要输入html动态页面 只有把缓存掏出来写入一个html页面便可以是道理实在是很简略的这里用到了几个函数 因为我初学php 许多函数我还不懂得 以是这里也阐明一下 盼望能够关心各人ob_start():开端“捕获”缓存 也就是从这里开端 翻开扫瞄器的缓存ob_end_flush():封闭扫瞄器缓存ob_get_content():读取缓存内容fopen("文件门路","翻开形式")翻开文件 97xxoo这个函数的翻开形式有好几种 上面先容几种重要的形式:'r' 只读方法翻开,将文件指针指向文件头。??'r+' 读写方法翻开,将文件指针指向文件头。??'w' 写入方法翻开,将文件指针指向文件头并将文件巨细截为零。假如文件不存在则实验创立之。??'w+' 读写方法翻开,将文件指针指向文件头并将文件巨细截为零。假如文件不存在则实验创立之。??fwrite("文件称号","写入内容") 写入文件fclose() 封闭文件因为我要转换的html文件十分多 能够有几百个 以是这里不能动态指定fopen的门路 各人能够设置一个门路变量 外面能够保留用户传来的id等信息 便利停止html文件定名 上面是我联合前次php读取xml数据的一个简略例子 顺序代码ob_start();????????????//翻开扫瞄器缓存?>//上面是读取xml数据$parser = xml_parser_create(); //创立一个parser编纂器xml_set_element_handler($parser, "startElement", "endElement");//设立标签触发时的响应函数 这里分辨为startElement和endElenmentxml_set_character_data_handler($parser, "characterData");//设立数据读取时的响应函数$xml_file="1.xml";//指定所97gan要读取的xml文件,能够是url$filehandler = fopen($xml_file, "r");//翻开文件 while ($data = fread($filehandler, 4096)) {xml_parse($parser, $data, feof($filehandler));}//每次掏出4096个字节停止处置fclose($filehandler);xml_parser_free($parser);//封闭和开释parser剖析器$name=false;$position=false;function startElement($parser_instance, $element_name, $attrs) //肇端标签变乱的函数{global $name,$position;??if($element_name=="NAME"){$name=true;$position=false;echo "名字:";}if($element_name=="POSITION"){$name=false;$position=true;echo "职位:";}}function characterData($parser_instance, $xml_data) //读取数据时的函数 //此教程起源于97xxoo教程网(www.97xxoo.org)检查完全的教程请点:http://www.97xxoo.org/article/1/2008/20081123423.shtml{??global $name,$position;??if($position)echo $xml_data."";if($name)echo $xml_data."";}function endElement($parser_instance, $element_name) //停止标签变乱的函数{global $name,$position; $name=false;$position=false; }?> //xml数据读取结束$htmlname=$id.".html";??????????????????????????//$id能够本人界说 这里代表用户传来的id$htmlpath="archives/".$htmlname;?????? //设置门路变量$content = ob_get_contents();??????????????//获得php页面输入的全体内容$fp = fopen($htmlpath, "w");fwrite($fp, $content);fclose($fp);?>

上一篇:PHP静态分析与跨站脚本检测(二)-网络编程

下一篇:没有了