PHP网站页面静态化

页面静态化的分类:

PHP网站页面静态化

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 = "PHP网站静态化教程  
3.	欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法  
4.	";   
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 "".  
4.	"".  
5.	"PHP网站静态化教程".  
6.	"".  
7.	"欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法".  
8.	"";  
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 "我是从静态文件中读取的数据:"."
"; 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 "我是从数据库中读取的数据:
"; ob_start();//打开输出缓冲 echo ""; //输出取得的信息 while($userInfo = mysql_fetch_assoc($resource)){ echo ""; echo ""; echo ""; echo ""; echo ""; } $end_time=microtime(); $str=ob_get_contents();//获取缓冲区的内容 ob_end_flush(); echo "从数据库读数据的时间:".($end_time-$start_time); file_put_contents("static.html",$str); ?>


转载于:https://my.oschina.net/ting22055/blog/485806

版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/73763.html

姓名地址Email
".$userInfo['name']."".$userInfo['address']."".$userInfo['email']."