用PHP实现WEB动态网页静态


Posted in PHP onOctober 09, 2006

在最近几年,万维网(也称环球信息网,即WWW)不断改变信息处理技术的面貌。WEB已经快速地成为一种有效的媒介,并适合人们和商业沟通和协作。几乎所有的信息技术领域都普遍受到WEB的影响。Web访问带来更多用户和更多数据,这意味着给服务器和数据库更多压力和最终用户得到越来越慢的响应速度。与不断靠增加CPU,磁盘驱动器及内存来跟上这种增长的需求相比, WEB动态网页面静态化应该是一个更实用,更经济的选择。

用PHP实现WEB动态网页静态化的具体实现函数如function gen_static_file()所示

function gen_static_file($program, $filename){$program 1= "/usr/local/apache/htdocs/php/" . $program;$filename1 = "/usr/local/apache/htdocs/ static_html/" . $filename;$cmd_str = "/usr/local/php4/bin/php " . $program1 . " } " . $filename1 . " ";system($cmd_str);echo $filename . " generated.〈br〉";}

这个函数是实现静态化的关键,即PHP动态页面程序不是被送到浏览器中,而是输入到名为$filename的文件中去(如图2)。两个参数中$program是PHP动态页面程序,$filename是生成的静态页面的名字(可根据需要自己制定命名规则,这一点很重要,见下文),/usr/local/php4/bin/php是PHP中具有把程序输入文件功能的部分,System是PHP中执行外部命令的函数。我们还可以看出所有生成动态页面的php程序需放在/php/目录下,所有新产生的静态页面则会出现在/static_html/目录下(这些路径可以根据具体需要设置)。

下面让我们举个具体例子,看一下college_static.php的静态页面是怎样生成的。

function gen_college_static (){for ($i = 0; $i 〈= 32; $i++〉{putenv("province_id=" . $i); //*.php文件从数据库取数据时要用到。$filename = " college_static". $i . ".html";gen_static_file("college_static.php", $filename);}

从这个函数我们可以看到通过调用函数gen_static_file(), college_static.php经过静态化,变成了33个静态页面college.static0.html~college.static33.html,其中$filename会随着$I的变化而变化。当然也可以从数据库中直接取值,来控制生成的静态页面的个数和名字,其他程序对生成的静态页面的调用应和静态页面的命名规则一致。
PHP 相关文章推荐
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
PHP连接SQLServer2005 的问题解决方法
Jul 19 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 PHP
php ios推送(代码)
Jul 01 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
PHP比你想象的好得多
Nov 27 PHP
PHP判断网络文件是否存在的方法
Mar 12 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
PHP的中使用非缓冲模式查询数据库的方法
Feb 05 PHP
用libtemplate实现静态网页生成
Oct 09 #PHP
初探PHP5
Oct 09 #PHP
用PHP连mysql和oracle数据库性能比较
Oct 09 #PHP
利用文件属性结合Session实现在线人数统计
Oct 09 #PHP
PHP中上传大体积文件时需要的设置
Oct 09 #PHP
新版PHP极大的增强功能和性能
Oct 09 #PHP
用PHP开发GUI
Oct 09 #PHP
You might like
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
浅谈jquery中delegate()与live()
2015/06/22 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
iview实现图片上传功能
2020/06/29 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
Python绘制KS曲线的实现方法
2018/08/13 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
python的dict判断key是否存在的方法
2020/12/09 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
2014年国庆标语
2014/06/30 职场文书
2014年党建工作总结
2014/11/11 职场文书
教育实习指导教师评语
2014/12/31 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python
Vue如何清空对象
2022/03/03 Vue.js
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
golang连接MySQl使用sqlx库
2022/04/14 Golang