日期:2014-05-17  浏览次数:20390 次

thinkphp 生成静态文件 配置

$this->buildHtml('hello', 'user/','index');

这样就在user目录下生产了? hello.shtml

还有缓存配置

顺便配置下生产 缓存 就是 点了 不是立即生成等到达一定时间自动生产静态页面 相当实用

在cofig.php 配置

if (!defined('THINK_PATH')) exit();
return array(
?'HTML_CACHE_ON'=>true,
?'HTML_CACHE_TIME'=>10,//时间单位是秒
?'HTML_READ_TYPE'=>0,
);

?

?

?

--------------------------

?

项目在c:/www/Tp/admin/

生成的静态文件 目标 c:/www/tp/html/

用到一个函数dirname 返回去除文件的路径? 如 tp/dl/123.php? 如果用dirname 的话返回的是绝对路径c:/tp/dl

index.php 入口文件配置

直说重要的

define('WEB_PATH', dirname(__FILE__) );
define('NO_CACHE_RUNTIME', true);//debug

?

config.php

项目配置 加上.htm

HTML_FILE_SUFFIX =>'.htm'

?

控制器中 我用的是map

function create(){
//echo THINK_PATH;
$path = dirname(WEB_PATH).'\HTML\\';
//$path = dirname(dirname(WEB_PATH).'\HTML');
echo $path;
$this->buildHtml('loves',$path,'index');
}

?

?

------------------------

?

1.UrlcreateAction放在Web项目
public function url_news_view(){
header("Content-Type:text/html; charset=utf-8");
$dirpath = dirname($_SERVER['SCRIPT_FILENAME']).'/Html/';//html根目录? 最后一个/是必须的
$news = M('new');
$list = $news->select();
foreach($list as $var){
$id = $var['new_id'];

$this->assign('data',$var);
var_dump($id);
$this->buildHtml("news/{$var['addtime']}",$dirpath,"Index:news_view");???
}

}
对Index:news_view操作模板输出后的内容,生成静态页面