用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 相关文章推荐
php 自写函数代码 获取关键字 去超链接
Feb 08 PHP
php小偷相关截取函数备忘
Nov 28 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
php中的ini配置原理详解
Oct 14 PHP
PHP多文件上传实例
Jul 09 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
php项目开发中用到的快速排序算法分析
Jun 25 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
关于php unset对json_encode的影响详解
Nov 14 PHP
如何重写Laravel异常处理类详解
Dec 20 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
我的论坛源代码(十)
2006/10/09 PHP
ThinkPHP安装和设置
2015/07/27 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
浅谈JavaScript之事件绑定
2013/07/08 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
d3.js 地铁轨道交通项目实战
2019/11/27 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
js实现点击生成随机div
2020/01/16 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python tkinter事件高级用法实例
2018/01/31 Python
python十进制转二进制的详解
2020/02/07 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
Python实现GIF图倒放
2020/07/16 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
奥地利网上书店:Weltbild
2017/07/14 全球购物
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
师范院校学生自荐信范文
2013/12/27 职场文书
邀请函样本
2015/02/02 职场文书
活动新闻稿范文
2015/07/17 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
Nginx反向代理配置的全过程记录
2021/06/22 Servers
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js