码迷,mamicode.com
首页 > Web开发 > 详细

php实现页面静态化

时间:2015-04-27 16:45:34      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

首先明白php实现页面静态化是将php文件生成相应的.shtml文件,那.shtml是什么文件呢?

包含有嵌入式服务器方包含命令的HTML(标准通用标记语言下的一个应用)文本。在被传送给浏览器之前,服务器会对SHTML文档进行完全地读取、分析以及修改。

以下是实例代码:

 <meta charset="utf-8" http-equiv="content-type" />
 <?php
	mysql_query("SET NAMES ‘utf8‘");//通知服务器客户端传递过去的语句的编码  
mysql_query("SET CHARACTER_SET_CLIENT=utf8"); //服务器设置客户端编码  
mysql_query("SET CHARACTER_置查询结果的编SET_RESULTS=utf8");//设码
	
	
	//首先查看缓存文件
	if(file_exists("static.html")){
		//缓存时间为3分钟
		if(time()-filemtime("static.html")<60*3){       //当前时间减去static.html生成时间,也就是当超过180s,则进行更新一遍
			//将静态文件内容返回给客户端
			$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 = "yuyouwen";
	//记录开始时间
	$start_time = microtime();
	mysql_connect($host,$user,$password);
	mysql_select_db("shucai");
	mysql_query("set names utf8");
	
	$sql 		= "SELECT username,password FROM admin";
	$resource 	= mysql_query($sql);
	echo "我是从数据库中读取的数据:<br/>";
	ob_start();//打开输出缓冲
	echo "<table border=‘1‘><tr><th>姓名</th><th>地址</th></tr>";
	//输出取得的信息
	while($userInfo = mysql_fetch_assoc($resource)){
		echo "<tr>";
		echo "<td>".$userInfo[‘username‘]."</td>";
		echo "<td>".$userInfo[‘password‘]."</td>";
		echo "</tr>";
	}
	$end_time=microtime();
	$str=ob_get_contents();//获取缓冲区的内容
	ob_end_flush();
	
	echo "从数据库读数据的时间:".($end_time-$start_time);
	
?>

  代码其实生成的是html文件,这时在 file_put_contents("static.html",$str);

  中的static.html改成static.shtml也行

 

php实现页面静态化

标签:

原文地址:http://www.cnblogs.com/jacson/p/4460571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!