php怎么生成静态网页
同上就是说怎么利用php生成静态网页,在论坛上看了一下说要先写一个静态生成页面的模版在模版里标记要改动的内容,不懂怎么标记总之是一点都不懂现在想学习一下求思路最好给点源码...
同上 就是说 怎么利用php生成静态网页,在论坛上看了一下 说要先写一个静态生成页面的模版 在模版里标记要改动的内容 ,不懂怎么标记 总之是一点都不懂 现在想学习一下 求思路 最好给点源码 求高手指教 谢谢了
展开
展开全部
PHP 模板引擎Smarty可以生成【静态页面】缓存。
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
Smarty优点
1. 速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。
2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)
3.【 缓存技术】:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个【静态的HTML页】,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个【静态的HTML】文件中来,这相当于调用一个【静态的HTML文件】。
4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
Smarty优点
1. 速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。
2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)
3.【 缓存技术】:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个【静态的HTML页】,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个【静态的HTML】文件中来,这相当于调用一个【静态的HTML文件】。
4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
展开全部
数据库中的内容链接你知道么,然后file_put_contents("路径+静态html名",file_get_contents(链接));然在控制器中判断是否有缓存静态文件然后去调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个最简单的例子.其他的原理如此.只是有更高效率的生成方式和特殊的处理方式,如循环,判断之类的.
template.html
<html>
<head>
<title><{title}></title>
</head>
<body>
<center><{content}></center>
</body>
</html>
php文件
<?php
$template = file_get_contents('./template.html');
$html = 'out.html';
$output = str_replace('<{title}>', $title, $template);
$output = str_replace('<{content}>', $section, $output);
file_put_contents($html, $output);
?>
template.html
<html>
<head>
<title><{title}></title>
</head>
<body>
<center><{content}></center>
</body>
</html>
php文件
<?php
$template = file_get_contents('./template.html');
$html = 'out.html';
$output = str_replace('<{title}>', $title, $template);
$output = str_replace('<{content}>', $section, $output);
file_put_contents($html, $output);
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
echo 输出不含php代码的html文件
就是通过模板函数来替换标签,原理就是替换了,通过php模板引擎来替换模板里的标签,就不用再模板里写很多代码。这样可以实现显示与控制分离。
那个是模板有很多现成的模板可以用,去phpchina里面找找相关的资料
就是通过模板函数来替换标签,原理就是替换了,通过php模板引擎来替换模板里的标签,就不用再模板里写很多代码。这样可以实现显示与控制分离。
那个是模板有很多现成的模板可以用,去phpchina里面找找相关的资料
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实例代码
<?
$out1 = "<html><head><title>PHP网站静态化教程</title></head>
</body></html>";
$fp = fopen("leapsoulcn.html","w");
if(!$fp)
{
echo "System Error";
exit();
}
else {
fwrite($fp,$out1);
fclose($fp);
echo "Success";
}
?>
<?
$out1 = "<html><head><title>PHP网站静态化教程</title></head>
</body></html>";
$fp = fopen("leapsoulcn.html","w");
if(!$fp)
{
echo "System Error";
exit();
}
else {
fwrite($fp,$out1);
fclose($fp);
echo "Success";
}
?>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询