PHP网站页面静态化

来源:互联网 发布:sql update多行数据 编辑:程序博客网 时间:2024/05/23 21:36

页面静态化的分类:

1,按照形式:两者的区别在于PHP生成静态页面的处理机制不同。

1)真静态

2)伪静态,就是url 重写

2,按照范围:

1)局部静态话(jquery,ajax)

2)全部静态化

在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、缓存等实现页面静态化。

PHP生成静态HTML页面的方法

1、利用PHP模板生成静态页面

PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。

2、使用PHP文件读写功能生成静态页面

PHP生成静态页面实例代码

1.<?php 2.$out1 = "<html><head><title>PHP网站静态化教程</title></head>  3.<body>欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法  4.</body></html>";   5. $fp = fopen("leapsoulcn.html","w");    6.if(!$fp)    7.{    8.echo "System Error";    9.exit();    10.}    11.else {    12.fwrite($fp,$out1);    13.fclose($fp);    14.echo "Success";    15.}    16.?>  

3、使用PHP输出控制函数(Output Control)生成静态页面

输出控制函数(Output Control)也就是使用和控制缓存来生成静态HTML页面,也会使用到PHP文件读写函数。

PHP生成静态页面实例代码

1.<?php  2.ob_start();  3.echo "<html>".  4."<head>".  5."<title>PHP网站静态化教程</title>".  6."</head>".  7."<body>欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法</body>".  8."</html>";  9. 10.$out1 = ob_get_contents();  11.ob_end_clean();  12.$fp = fopen("leapsoulcn.html","w");  13.if(!$fp)  14.{  15.echo "System Error";  16.exit();  17.}  18.else 19.{  20.fwrite($fp,$out1);  21.fclose($fp);  22.echo "Success";  23.}  24.?> 

实例如下

<?php//首先查看缓存文件if(file_exists("static.html")){//缓存时间为3分钟if(time()-filemtime("static.html")<60*3){//将静态文件内容返回给客户端$start_time = microtime();echo "我是从静态文件中读取的数据:"."<br/>";echo file_get_contents("static.html");$end_time   = microtime();echo "静态文件使用时间:".($end_time-$start_time);exit;}}//如果是首次访问,或者是上次缓存的时间超过3分钟,则从数据库中读取数据$host     = "127.0.0.1";$user     = "root";$password = "123456";//记录开始时间$start_time = microtime();mysql_connect($host,$user,$password);mysql_select_db("mydb");mysql_query("set names utf8");$sql = "SELECT name,address,email FROM users";$resource = mysql_query($sql);echo "我是从数据库中读取的数据:<br/>";ob_start();//打开输出缓冲echo "<table border='1'><tr><th>姓名</th><th>地址</th><th>Email</th></tr>";//输出取得的信息while($userInfo = mysql_fetch_assoc($resource)){echo "<tr>";echo "<td>".$userInfo['name']."</td>";echo "<td>".$userInfo['address']."</td>";echo "<td>".$userInfo['email']."</td>";echo "</tr>";}$end_time=microtime();$str=ob_get_contents();//获取缓冲区的内容ob_end_flush();echo "从数据库读数据的时间:".($end_time-$start_time);file_put_contents("static.html",$str);?>



0 0
原创粉丝点击