PHP生成静态文件的技巧 .docx
《PHP生成静态文件的技巧 .docx》由会员分享,可在线阅读,更多相关《PHP生成静态文件的技巧 .docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结PHP生成静态文件的方法1, 下面使用模版的一个方法 ./ 简洁的将模板写进一个文件中存为html.html2, 按时间生成 html 文件名.可编辑资料 - - - 欢迎下载精品名师归纳总结$content= 这是一个以日期时间为文件名的静态生成网页的测试文件,文件名格式一般为 年月日时分秒 .html 。$date = dateYmdHis。$fp = fopen dateYmdHis . .html,w。/ 本函数可用来打开本的或者远端的文件 w 开文件方式为写入,文件指针指到开头处,并将原文件的长度设为0。如文件不存在 , 就建立新文件。if fwrite $fp,$c
2、ontent/ 格式是.int fwriteint fp文件名 , string string 内容, int length 长度 。本函数将字符串 string 写入文件资料流的指针fp 上。/ 如有指定长度 length,就会写入指定长度字符串,或是写到字符串终止。fclose $fp。/ 函数用来关闭已经打开的文件的指针fp 。胜利返回 true ,失败就返回 false 。die 写入模板胜利 。 else fclose $fp。die 写入模板失败 . 。echo $content。.可编辑资料 - - - 欢迎下载精品名师归纳总结3, 下面为转换文件名的一个方法这样就可以把 93e
3、.php 转化为静态的 HTML文件了。要留意的是待转换的文件里不能有 ob_end_clean 。和 ob_start 。语句,且目录要有写权限。深化静态生成:谈 PHP生成静态页面可编辑资料 - - - 欢迎下载精品名师归纳总结一、引 言在速度上 , 静态页面要比动态页面的比方php 快许多 , 这是毫无疑问的 , 但是由于静态页面的敏捷性较差 , 假如不借助数据库或其他的设备储存相关信息的话, 整体的治理上比较繁琐 , 比方修改编辑 . 比方阅读权限限制等 , 但是, 对应一些我们常常频频使用的文件, 比方说 , 开发的新闻发布系统 , 我们不期望许多用户都读取数据库才显示结果, 这样一
4、方面消耗了服务器的资源 , 另一方面占去了浏览者大量珍贵的响应时间, 全部, 有了 静态页面话 的做法 , 当前许多网站都采纳这种技术 , 一般都是由治理后台掌握, 或者生成 html 直接显示 , 或者 xhtml 用 css 掌握显示 , 或者生成 xml 用 xslt显示 , 这些技术都不是难的 , 在 这里我就浅显的说说生成 html 的方法 .二、预备学问模板技术 :笑谈配置 , 使用 Smarty 技术PHP模板引擎 Smarty 深化浅出介绍-2005-12-31PHP-2006-01-04缓存技术 :有些信息比方常常不变的, 但是仍是能变的信息放在缓存中以加快显示速度, 这是很
5、有价值的, 所谓的缓存 , 通俗的懂得就是一些储存在服务器端的共用信息. 它是于服务器同生死的 , 我们在储存缓存的时候可以指定下次更新的时间的判定, 比方要在 5 分钟更新一次 , 可以记录上次更新的时间 , 和当前时间比较 , 假如 大于 5分钟 , 读取数据库 , 更新换成 , 否就直接读取缓存数据 , 当然 , 缓存需要客户端用户激活的, 只需一次 .ob_start函数 : 打开输出缓冲区 .函数格式 voidob_startvoid说明:当缓冲区激活时, 全部来自 PHP程序的非文件头信息均不会发送,而是储存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush或 f
6、lush输出缓冲区的内容。Flush :刷新缓冲区的内容,输出。函数格式: flush说明:这个函数常常使用, 效率很高。ob_get_contents:返回内部缓冲区的内容。函数格式: string ob_get_contentsvoid说明:这个函数会返回当前缓冲区中的内容,假如输出缓冲区没有激活 , 就返回 FALSE.ob_get_length :返回内部缓冲区的长度。 函数格式: int ob_get_lengthvoid说明: 这个函数会返回当前缓冲区中的长度。 和 ob_get_contents 一样,假如输出缓冲区没有激活 , 就返回 FALSE.可编辑资料 - - - 欢迎下
7、载精品名师归纳总结ob_end_clean :删除内部缓冲区的内容,并且关闭内部缓冲区函数格式: void ob_end_cleanvoid说明:这个函数不会输出内部缓冲区的内容而是把它删除ob_end_flush:发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区函数格式: void ob_end_flushvoid说明:这个函数发送输出缓冲区的内容(假如有的话)ob_implicit_flush:打开或关闭确定刷新函数格式: void ob_implicit_flush intflag说明:默认为关闭缓冲区, 打开确定输出后, 每个脚本输出都直接发送到浏览器, 不再需要调用 flush文件写
8、入 :int fwrite resource handle, string string , int length fwrite把 string的内容写入文件指针 handle处。 假如指定了 length,当写入了length个字节或者写完了string以后,写入就会停止,视乎先遇到哪种情形。fwrite返回写入的字符数,显现错误时就返回FALSE 。相关参考官方网站 :文件参考三、解决方案思路 : 开启 ob_start缓冲, 当已经调出数据的时候猎取ob_get_contents,然后生成静态页,ob_end_clean清除缓冲 .ok, 就这么来 , 来看一个例子 php+mysql
9、的结合 :创建数据库 :CREATE TABLE bihtml id int11 NOT NULL auto_increment,szdtitle varchar16 NOT NULL,szdcontent text NOT NULL,PRIMARY KEY idTYPE=MyISAM。猎取当前的 ID, 并导入模板 :ob_start。$id=_POSTidif.isset$id&is_integer$id$db=new mysqlilocalhost,root,admin,bihtml。 $result=$db-fetch_one_arraysel ect* from szd_bi whe
10、reid=$id。 if.empty$result$tmp-assignarraySzdtitle,htmlspecialchars$resulttitles,Szdcontent,$resulttitles。 $tpl-display default_1.tpl。 $this_my_f= ob_get_contents。 / 此处关键 ob_end_clean。 $filename =$id.html。 iftohtmlfile_cjjer$filename,$this_my_fecho 生成胜利$filename。 elseecho 生成识别 。 可编辑资料 - - - 欢迎下载精品名师归
11、纳总结/ 把生成文件的过程写出函数function tohtmlfile_cjjer$file_cjjer_name,$file_cjjer_content if is_file $file_cjjer_nameunlink $file_cjjer_name。 $cjjer_handle = fopen $file_cjjer_name,w。 if .is_writable $file_cjjer_namereturn false。 if .fwrite $cjjer_handle,$file_cjjer_contentreturn false。 fclose $cjjer_handle。 /
12、关闭指针return $file_cjjer_name。四、说明事项1:一般建议治理员添加数据的时候就生成静态页面, 可以考虑记录生成的文件名次和路径.2:php 主要是ob_starts和 ob_get_contents,生成静态页面的时候很有用, 当然也可以考虑调出数据库直接替换模板里面的变量也是可以的.3:主要的模板使用 smarty,phplib都是可以的 ,smarty使用比较简易 .模板引擎 Smarty 深化浅出介绍 PHP用 PHP实现 MVC开发模式的规律层和表示层有多种模板引擎可供挑选,但是官方引擎SMARTY 产生后, 挑选就有了变化。 它的理念和实现都是相当前卫 的。本
13、文主要争论SMARTY之于 其他模板引擎的不同特点,简要介绍了该引擎的安装及使用,并用一个小的测试案例对比了SMARTY和 PHPLIB template的速度和易用性。一、 MVC需要模板MVC最早是在 SmallTalk语言的开发过程中总结出的一种设计模式,MVC分别代表了 模型 、 视图 和 掌握 ,目的就是让不同的开发角色在大中型工程中各司其职。在网络应用程序的开发中,可以用下图来表示各概念之间的关系。可编辑资料 - - - 欢迎下载精品名师归纳总结该图展现了一个简洁的WEB应用程序,用户在浏览器上看到信息是数据库服务器上的内容,但在这之前经过了应用服务器加工。开发人员负责的就是建立数
14、据结构、处理数据的规律以及表示数据的方法。96 年 CGI 在中国开头流行的时候, 早期的 WEB程序员都是从 HTML开头自学成材的, 在 PERL 中 print一行行的 HTML并不是一件难事, 但 是随着网络的一步步提速,页面大小也从起初 的二、三十 K 暴涨了十倍。写CGI 程序就产生了一个迫切的要求:分开PERL和 HTML源码。于是,社会进步体现在开发小组内部的分工上。由于美工和程序员对相互的工作并不是十分熟识,在进行合作的过程中需要用一种商定的 语言 进行沟通。这种语言并不是我们的母语或者英语,术语叫做 模板 ,规律和表示依靠它联系。 它是结合了 HTML和脚本语言特点的一种表
15、达方式。通 过这种方式, 表示层可以依据用户所期望的格式来显示经过规律层处理过的数据。假如你有Windows 平台下 MFC的开发体会 , 那么肯定会很熟识 Document/Document Template/View的封装,这就是一个很典型的MVC例子。对于Web应用来说,个人认为J2EE中的 EJB/servlets/JSP是最强大 的,当然仍有简洁美丽的Structs。另一个很出名的实现就是COM/DCOM+A,SP这个组合在我国是最多人使用的。通过几种 MVC实现在 WEB应用程序里的对比,可以得到一个关于模板的概念:一组插入了HTML的脚本或者说是插入了脚本HTML,通过这种插入的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP生成静态文件的技巧 PHP 生成 静态 文件 技巧
限制150内