最近研究PHP的一些开发技术,发现PHP有很多ASP所没有的优秀功能,可以完成一些以前无法完成的功能,例如动态生成HTML静态页面,以减少服务器CPU的负载,提高用户访问的速度。
我们知道,PHP读取MYSQL动态显示,在访问量大的情况下,会有很多性能问题,如果租用别人的虚拟主机,则会因为CPU消耗过多而被限制CPU,导致网页无法访问。我这里给出一个PHP动态生成HTML的方法,可以极大降低服务器CPU负荷。
首先设置.htaccess文件,将动态调用的参数转换为静态的HTML的URL地址,例如将在post目录下的文件,转发到根目录的wp-post.php文件中,加入的语句类似:
RewriteRule ^post/([a-z0-9\-]+\.html)$ wp-post.php?$1$2
然后修改wp-post.php文件,在文件的开头加入以下PHP代码:
ob_start();
$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";
define("HTML_FILE", $_SERVER['DOCUMENT_ROOT']."/post/".$qstring);
if (file_exists(HTML_FILE))
{
$lcft = filemtime(HTML_FILE);
if (($lcft + 3600) > time()) //判断上次生成HTML文件是否超过1小时,若没有才直接输出文件内容
{
&nbs ......
最近研究PHP的一些开发技术,发现PHP有很多ASP所没有的优秀功能,可以完成一些以前无法完成的功能,例如动态生成HTML静态页面,以减少服务器CPU的负载,提高用户访问的速度。
我们知道,PHP读取MYSQL动态显示,在访问量大的情况下,会有很多性能问题,如果租用别人的虚拟主机,则会因为CPU消耗过多而被限制CPU,导致网页无法访问。我这里给出一个PHP动态生成HTML的方法,可以极大降低服务器CPU负荷。
首先设置.htaccess文件,将动态调用的参数转换为静态的HTML的URL地址,例如将在post目录下的文件,转发到根目录的wp-post.php文件中,加入的语句类似:
RewriteRule ^post/([a-z0-9\-]+\.html)$ wp-post.php?$1$2
然后修改wp-post.php文件,在文件的开头加入以下PHP代码:
ob_start();
$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";
define("HTML_FILE", $_SERVER['DOCUMENT_ROOT']."/post/".$qstring);
if (file_exists(HTML_FILE))
{
$lcft = filemtime(HTML_FILE);
if (($lcft + 3600) > time()) //判断上次生成HTML文件是否超过1小时,若没有才直接输出文件内容
{
&nbs ......
test.php代码: view plaincopy to clipboardprint?
assign("total",$total); //对模版中的变量赋值 $formatted_total = number_format($total); //格式化$total $smarty->assign("formatted_total",$formatted_total); //对模版中的变量赋值 $smarty->display('test1.htm'); //显示页面 ?>
assign("total",$total); //对模版中的变量赋值 $formatted_total = number_format($total); //格式化$total $smarty->assign("formatted_total",$formatted_total); //对模版中的变量赋值 $smarty->display('test1.htm'); //显示页面 ?> test1.html模板代码: view plaincopy to clipboardprint?
Total is {$total}
Formatted Total is {$formatted_total}
Total is {$total}
Formatted Total is {$formatted_total}
编译后的test.html.php代码: view plaincopy to clipboardprint?
Total is _tpl_vars['total']; ?>
Formatted Total is _tpl_vars['formatted_total']; ?>
Total is _tpl_vars['total']; ?>
Formatted Total is _tpl_vars['formatted_total']; ?>
test1.html模板可以改写成这样test2.html: view plaincopy to cli ......
<?php
/***************************
* 一个非常实用个性的分页类 *
****************************
*****************************实例***********************************
if(!isset($_GET['page'])){$page = 0;}else{$page = $_GET['page'];}
$pagedemo = new pageclass;
$pagedemo->set_sql("SELECT * from `demo` ORDER BY `id` DESC");
$pagedemo->set_params("type=".$type."");
$pagedemo->set_setpage($page);
$pagedemo->set_pagesize(10);
$pagedemo->set_filename("demo.php");
$pagedemo->set_pagenumber(5);
$pagedemo->show();
$result=$pagedemo->result;
$n=0;
while ($row=mysql_fetch_row($result)){
$n++;
echo "内容";
}
$pagedemo->showpage();
*******************************************************************/
class pageclass
{
/****声明****/
var $sqlstr,$filename,$params,$initfirstpage;
var $pa ......
分页类
/**********
| +---------------------------------------------------
| CLASS NAME: PageBar
| +---------------------------------------------------
| Author: Arvan [E-mail:Arvan@5n9.com QQ:8817776]
| Create date: 2003-7-17
| Note:
| Do for pagination
| +---------------------------------------------------
| Warning: no...
| +---------------------------------------------------
**********/
class PageBar
{
var $total;
var $onepage;
var $num;
var $pagecount;
......
企业建站自助管理系统是由E易网络(68ws.cn)基于php+mysql开发,集易用性和强大功能为一体企业建站系统,具有丰富多彩的网站企业建站模版,灵活的栏目管理和文章、图文、下载、广告等管理功能,支持阅读权限控制和会员权限管理,支持HTML静态网页生成和多语言,可用于创建各种企业网站建设。
一、主要功能模块
会员类型管理 - 可创建多种会员类型,设置不同的注册参数和权限
会员管理系统 - 会员注册、登录、重设密码、会员资料修改
权限控制系统 - 针对会员类型或单个会员设置阅读、发布权限
栏目管理系统 - 自由创建栏目频道,设置栏目名称和显示参数
新闻文章系统 - 任意创建多个文章频道,灵活设置频道首页
图文发布系统 - 任意创建多个图文频道,灵活设置频道首页
下载管理系统 - 任意创建多个下载频道,灵活设置频道首页
互动交流社区 - 内置小型互动BBS,也可使用DISCUZ!论坛会员接口
网站广告系统 - 具有页内广告、浮动广告、弹出窗口、挂角广告等多种形式
访问统计系统 - 网页访问统计分析
投票调查系统 - 设置投票组,任意插入模版
友情链接系统 - 支持文本和图片链接
模版插件设置 - 通过后台设置模版插件的显示参数
管理权限设 ......
<?
/*****************************************************************************/
/* */
/* file type: 包含文件,建议后缀为.inc */
/* */
/* file name: cart.inc */
/* */
/* Description: 定义一个购车类 */
/* */
/* Func list : class cart */
/* */
/* author : bigeagle */
/* */
/* date : 2000/12/24 */
/* */
/* History: 2000/12/24 finished */
/* */
/*****************************************************************************/
//定义本文件常量
define("_CART_INC_" , "exists") ;
/*购物车类*/
class TCart
{
var $SortCount; //商品种类数
var $TotalCost; //商品总价值
var $Id; //每类商品的ID(数组)
var $Name; //每类商品的名称(数组)
var $Price; //每类商品的价格(数组)
var $Discount; //商品的折扣(数组)
var $GoodPrice ; //商品的优惠价格(数组)
var $Count; //每类商品的件数(数组)
var $MaxCount ; //商品限量(数组)
//******构造函数
function TCart()
{
$this->SortCount=0;
session_start(); //初始化一个session
session_reg ......