`
chengxianju
  • 浏览: 256631 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

smarty生成静态

    博客分类:
  • php
阅读更多

smarty生成静态很简单的

利用自带的$smarty->fetch();我个人感觉没有必要生成静态,打开$smarty->caching=2缓存的话,在cache文件夹已经生成了,静态的文件,

include("Smarty.class.php");
$smarty = new Smarty;


$smarty->caching = true;


// only do db calls if cache doesn't exist
// 只有在缓存不存在时才调用数据库
if(!$smarty->is_cached("index.tpl"))
{


 // dummy up some data
 $address = "245 N 50th";
 $db_data = array(
	 "City" => "Lincoln",
	 "State" => "Nebraska",
	 "Zip" = > "68502"
	 );


 $smarty->assign("Name","Fred");
 $smarty->assign("Address",$address);
 $smarty->assign($db_data);


}


// capture the output
// 捕获输出
$output = $smarty->fetch("index.tpl");


// do something with $output here
// 对将要输出的内容进行处理


echo $output;

代码如下:

<?php
include_once 'model/T_SecondHouseA_action.php';
include_once 'model/T_TypeA_action.php';
include_once 'model/T_NewsA_action.php';
include_once 'model/T_User.php';
$newsAction = new T_NewsA();
$typeAction=new T_TypeA();
$agent=new T_UserA();
$secondHouse=new T_SecondHouseA();
$typeArr = $typeAction->T_TypeA_selectKV();
//二手房评估
$zixun=$agent->T_getZiXun();
//购房指南
$news = $newsAction->T_NewsA_getNewsByTypeId($typeArr['购房指南'],8,'Id desc');
//经纪人名录
$agent=new T_UserA();
$agentName=$agent->T_UserA_getAgent();
$shopName=$agent->T_UserA_getShop();
require 'libs/Smarty.class.php';
$smarty = new Smarty;
//接收的参数
$source=(int)$_GET['source'];//来源:1:个人2:中介3:门店
$zone=(int)$_GET['zone'];//区域
if(!empty($_GET['price'])){//price是上面搜索的
	$priceArr=explode('-',$_GET['price']);
	$minprice=(int)$priceArr[0];
	$maxprice=(int)$priceArr[1];
}else{
$minprice=(int)$_GET['minprice'];
$maxprice=(int)$_GET['maxprice'];
}
$department=(int)$_GET['department'];//户型,1:一室,2:2室,6:5室以上
$type=(int)$_GET['type'];//房型:1:住宅2:
// echo urldecode($name);
$name=mb_convert_encoding(trim($_GET['name']),'GBK','utf-8');
if(!empty($name)){//name是上面的搜索
	$name=$name ? Mssql::get_magic(trim($name)) : 0;//楼盘名称
}else{
	$name=0;
}
$minarea=(int)$_GET['minarea'];//面积范围小
$maxarea=(int)$_GET['maxarea'];//面积范围大
$pic=(int)$_GET['pic'];//图片房源,有图片为1
$top=(int)$_GET['top'];//推荐房源,推荐为1
$z=(int)$_GET['z'];//按照面积排序,1:为升序,2:为降序
$single=(int)$_GET['single'];//按照单价排序,1:为升序,2:为降序
$total=(int)$_GET['total'];//按照单价排序,1:为升序,2:为降序
$time=(int)$_GET['time'];//按照时间排序,1:为升序,2:为降序
$pagesize=$_GET['pagesize'] ? (int)$_GET['pagesize'] : 25;
$pageindex=$_GET['pageindex'] ? (int)$_GET['pageindex'] : 1;
//商圈参数
if(isset($_GET['business'])){
	if(!empty($_GET['business'])){
	$business=iconv('utf-8','gb2312',trim($_GET['business']));
	$business=Mssql::get_magic($business);
	}else{
		$business=0;
	}
}
// echo $business;
// die;
/*echo '$source:'.$source.'<br />';
echo '$zone:'.$zone.'<br />';
echo '$_GET[price]:'.$_GET['price'].'<br />';
echo '$department:'.$department.'<br />';
echo '$type:'.$type.'<br />';
echo '$name:'.$name.'<br />';
echo '$minprice:'.$minprice.'<br />';
echo '$maxprice:'.$maxprice.'<br />';
echo '$minarea:'.$minarea.'<br />';
echo '$maxarea:'.$maxarea.'<br />';
echo '$pic:'.$pic.'<br />';
echo '$top:'.$top.'<br />';
echo '$z:'.$z.'<br />';
echo '$single:'.$single.'<br />';
echo '$total:'.$total.'<br />';
echo '$time:'.$time.'<br />';
echo '$pagesize:'.$pagesize.'<br />';
echo '$pageindex:'.$pageindex.'<br />';
echo '$business:'.$business.'<br />';
die;
*/


$arrar=$secondHouse->T_SecondHouseA_Search($source,$zone,$minprice,$maxprice,$minarea,$maxarea,$department,$type,$name,$pic,$top,$z,$single,$total,$time,$pagesize,$pageindex,$business);
 // print_r($arrar);
// echo '<br />';
 // die;

$pageCount=$secondHouse->T_SecondHouseA_SearchCount($source,$zone,$minprice,$maxprice,$minarea,$maxarea,$department,$type,$name,$pic,$top,$business);

$totalpage=ceil($pageCount/$pagesize);

if($source==0){$source='';}
if($zone==0){$zone='';}
if($price==0){$price='';}
if($department==0){$department='';}
if($type==0){$type='';}
if($name===0){$name='';}
if($minprice==0){$minprice='';}
if($maxprice==0){$maxprice='';}
if($minarea==0){$minarea='';}
if($maxarea==0){$maxarea='';}
if($pic==0){$pic='';}
if($top==0){$top='';}
if($z==0){$z='';}
if($single==0){$single='';}
if($total==0){$total='';}
if($time==0){$time='';}
if($business===0){$business='';}

$numPage=F::page(10,$totalpage,$source,$zone,$price,$minprice,$maxprice,$minarea,$maxarea,$department,$type,$name,$pic,$top,$z,$single,$total,$time,$pagesize,$pageindex,$business);
if($pageindex<2){
	$prePage=1;
}else{
	$prePage=$pageindex-1;
}
if($pageindex+1>$totalpage){
	$nextPage=$totalpage;
}else{
	$nextPage=$pageindex+1;
}
//统计下载次数
$str=file_get_contents('configs/count.txt');
$hits=unserialize($str);
//相关配置
$smarty->compile_check = true;
$smarty->debugging = false;
//购房指南
$smarty->assign('news',$news);
//经纪人名录
$smarty->assign('agentName',$agentName);
$smarty->assign('shopName',$shopName);
//搜索出来的变量
$smarty->assign('arra',$arrar);
$smarty->assign('size',$pageCount);
$smarty->assign('totalpage',$totalpage);
$smarty->assign('prePage',$prePage);
$smarty->assign('nextPage',$nextPage);
// echo $nextPage;
// echo '<br />';
// echo $totalpage;
// die;
//分页变量

$smarty->assign('numPage',$numPage);
$smarty->assign('name',$name);
//
$smarty->assign('zixun',$zixun);
//
$smarty->assign('hits1',$hits[0][1]);
$smarty->assign('hits2',$hits[1][1]);
$smarty->assign('hits3',$hits[2][1]);
$content=$smarty->fetch('list.html');
$fp=fopen('list.html','wb');
fwrite($fp,$content);
fclose($fp);
die('静态文件生成成功');
// $smarty->display('list.html');

?>

 

分享到:
评论

相关推荐

    php mvc smarty 生成静态页 免费源代码

    php mvc smarty 生成静态页 免费源代码 主要诠释 用smarty 生成带分页的,带有二级分类的信息模块的,静态页的技术,里面包含数据库文件 缺少东西的话请联系 测试方法:在地址栏直接录入 phpfiles/article/list....

    PHP中使用smarty生成静态文件的例子

    总之,通过Smarty生成静态文件是提高PHP应用性能的有效手段,它可以简化复杂的数据展示逻辑,同时减少服务器负载。在实际项目中,开发者应根据需求灵活运用这一技术,以达到最佳的用户体验和系统效率。

    PHP生成静态页面(ob_start+smarty)生成

    总结起来,PHP生成静态页面的核心是利用`ob_start()`开启缓冲,通过Smarty处理和渲染模板,然后使用`ob_get_contents()`获取缓冲区的HTML内容,最后调用文件操作函数将内容写入静态HTML文件。这种方式虽然相对复杂,...

    smarty新闻静态列表

    每当有新的新闻发布或更新时,才需要重新生成静态文件。 6. **URL重写**:为了让用户仍能通过动态URL访问静态页面,通常会使用URL重写技术(如Apache的mod_rewrite),使得看似动态的URL实际上指向了静态HTML文件。...

    Smarty实现页面静态化(生成HTML)的方法

    页面静态化是一种提高网站访问速度和减少服务器负载的技术,它通过预先生成静态HTML文件来代替动态生成页面内容。结合Smarty实现页面静态化,不仅可以保持模板的灵活与高效,同时也能享受静态页面带来的性能优势。 ...

    smarty两种局部缓存方法和自定义生成静态文件的例子

    以上就是Smarty 2.6.26版本中的局部缓存方法和自定义生成静态文件的实践。通过合理使用这些功能,可以显著提升网站的性能和用户体验。但需要注意,缓存策略应根据具体应用和数据更新频率来调整,以确保数据的实时性...

    PHP生成静态HTML的技术原理

    4. **内容管理系统(CMS)**:许多CMS系统如WordPress、Drupal等,都提供了生成静态页面的插件或功能。它们通常在后台设置中允许用户选择是否启用静态化,或者定时自动生成静态页。 5. **反向代理与负载均衡**:配合...

    php生成静态文件 php生成html文件

    同时,如果你的网站需要处理大量并发请求,生成静态文件可以有效减轻服务器负担,提供更好的用户体验。 总结来说,PHP生成静态HTML文件是通过输出缓冲区技术实现的,它能够帮助我们将动态生成的内容批量写入文件,...

    Smarty中批量生成html

    ### Smarty中批量生成静态HTML页面的方法 #### 一、引言 在Web开发中,动态内容的静态化处理是一项常见的需求。通过将动态生成的内容转化为静态HTML页面,不仅可以减轻服务器负担,提高网站访问速度,还能增强用户...

    静态生成\php生成静态原理程序.rar

    本压缩包文件"静态生成\php生成静态原理程序.rar"包含了名为"php生成静态原理程序.php"的文件,这很可能是用PHP语言实现的一个静态页面生成器的源代码示例。现在我们将深入探讨PHP如何实现静态页面的生成及其背后的...

    smarty模板,调用静态页面模板,Smarty-2.6.22

    在Smarty中,静态页面通常指的是不包含动态数据的页面,它们可能已经预先生成并存储为HTML文件。以下是如何在Smarty中调用静态页面模板的步骤: 1. **配置Smarty实例**:首先,你需要创建一个Smarty对象,设置模板...

    基于PHP的生成静态页面小程序.zip

    生成静态页面是提高网站性能和搜索引擎优化(SEO)的一种有效策略。静态页面是指HTML文件,它们在用户请求之前已经创建好,不再依赖服务器端的实时处理,从而降低了服务器负载,加快了页面加载速度。 在这个"基于...

    PHP 生成静态页类

    首先,我们需要了解生成静态页面的基本流程: 1. **接收请求**:当用户访问动态页面时,服务器接收到请求。 2. **处理请求**:PHP脚本根据请求参数执行相应的业务逻辑。 3. **生成HTML**:PHP动态生成HTML内容。 4. ...

    mysql-php生成静态网页实例.doc

    例如,对于经常访问的页面,可以定期或按需生成静态版本,而对于更新频繁或个性化内容,仍然保持动态处理。 6. **优化策略** - 缓存管理:使用缓存技术,如APC、Memcached或Redis,将部分动态内容缓存起来,减少...

    PHP生成静态页面123.pdf

    模板和模板解析是实现动态生成静态页面的关键。模板通常是一个包含占位符的HTML文件,如示例中的`temp.html`。PHP脚本通过读取模板文件,用变量替换占位符,然后将替换后的内容写入新的HTML文件,从而生成静态页面。...

    PHP生成静态页面教程

    ### PHP生成静态页面教程知识点详解 #### 一、PHP脚本与动态页面的基本概念 - **PHP脚本**:PHP是一种服务器端脚本语言,它能够嵌入到HTML文档中或者独立作为脚本来运行。PHP的主要功能在于处理数据、生成动态内容...

    mvc 三层架构 生成静态页面源码

    而生成静态页面是优化Web应用性能的一种手段,它利用MVC架构中的控制器和视图协同工作,实现从动态生成到静态输出的转换。在实际开发中,理解并灵活运用MVC模式和静态页面生成技术,能有效提升开发效率和应用性能。

    某科技公司网站源码(生成静态 )

    在实际的网站运营中,动态生成静态页面的过程涉及以下几个关键技术点: 1. **服务器端脚本**:如PHP、Java、Python或Node.js等,它们负责解析请求,处理业务逻辑,生成HTML并返回给客户端。 2. **模板引擎**:例如...

Global site tag (gtag.js) - Google Analytics