by coldwind/iwind/month/ccterran http://iwind.org
長い間、静的 Web ページの実装方法を他の人に尋ねたり、Nagging にも質問したりしてきましたが、ようやく非常に簡単な方法を思いつきました。方法は、libtemplate を使用して実装することです。
皆さん、ご覧ください: http://doc.iwind.org
次に、静的な Web ページの出力を実装する方法について説明します。
1. libtemplateを変更します。
2つの関数を追加します
//解析結果をファイルに保存します
function savetofile ($dir,$varname){
$data=$this->finish($this->get_var ($ varname));
$fp=fopen($dir,"w+");
fwrite($fp,$data);
}
関数内の dir は、ファイルを保存する場所です。 varname は libtemplate の $target で、次のように使用されます:
$tpl->set_file("main","main.tpl");
...
$tpl->parse("mains","main") ;
$tpl->savetofile("html/main.html","mains");
libtemplate を知っている読者なら簡単に理解できると思います。
//割り当てられた配列をクリアします
関数 renew(){
$this - >varkeys=array();
$this->varvals=array();
$this->file=array();
}
これにより、前のテンプレート分析の影響をクリアできます。
2、静的な出力を実現します。
上記の例のように出力が単一のファイルの場合。
$tpl->set_file("main","main.tpl");
...
$tpl->parse(" mains", "main");
$tpl->savetofile("html/main.html","mains");
しかし、記事表示用のテンプレートを変更したら、以前に生成された静的ファイルをすばやく更新するにはどうすればよいですか?明らかに、出力をループする必要があります。例は次のとおりです。
html_info(){// 同様の例です
$tpl->set_file("main","main) .tpl");
.. ... /最良が重要です
}/// 循環出力
for ($ i = 0; $ i & lt; $ total; $ i ++) {
...
html_info;
}
したがって、更新は想像ほど複雑ではありません。
http://www.bkjia.com/PHPjc/315097.html
www.bkjia.com
true