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。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
Ⅱ php怎么生成静态页面
利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。
这里我用smarty做例子,说明如何生成静态页:
<?php
require("smarty/Smarty.class.php");
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/index.htm");
//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>
Ⅲ PHP网站如何纯静态化
纯静态网站在网站中是怎么实现的?
纯静态的制作技术是需要先把网站的页面总结出来,分为多少个样式,然后把这些页面做成模板,生成的时候需要先读取源文件然后生成独立的以.html结尾的页面文件,所以说纯静态网站需要更大的空间,不过其实需要的空间也不会大多少的,尤其是对于中小型企业网站来说,从技术上来讲,大型网站想要全站实现纯静态化是比较困难的,生成的时间也太过于长了。不过中小型网站还是做成纯静态的比较,这样做的优点是很多的。
而动态网站又是怎么进行静态处理的?
页面静态化是指将动态页面变成html/htm静态页面。动态页面一般由asp,php,jsp,.net等程序语言编写而成,非常便于管理。但是访问网页时还需要程序先处理一遍,所以导致访问速度相对较慢。而静态页面访问速度快,却又不便于管理。那么动态页面静态化即可以将两种页面的好处集中到一起。
Ⅳ PHP将整个网站生成HTML静态
其实实现的方法很简单
php;"> <?php //在你的开始处加入 ob_start(); ob_start(); //以下是你的代码 //在结尾加入 ob_end_clean() 并把本页输出到一个变量中 $temp = ob_get_contents(); ob_end_clean(); //写入文件 $fp = fopen(‘文件名’ w’); fwrite($fp $temp) or die(‘写文件错误’); ?>
这只是最基本的方法 还不是很实用 因为网站是要更新的 要定期重新生成HTML
下面是我用的方法
if(file_exists("xxx ")) { $time = time(); //文件修改时间和现在时间相差半小时一下的话 直接导向文件 否则重新生成 if($time filemtime("xxx ") < * ) { header("Location:xxx "); } } //在你的开始处加入 ob_start(); ob_start();
//页面的详细内容 //在结尾加入 ob_end_clean() 并把本页输出到一个变量中 $temp = ob_get_contents(); ob_end_clean();
//写入文件 $fp = fopen(‘xxx ’ w’); fwrite($fp $temp) or die(‘写文件错误’);
//重新导向 header("Location:xxx ");
lishixin/Article/program/PHP/201311/20980
Ⅳ php如何生成静态页面
lz只是想要主页生成静态吗?这种问题我回答过,也许可以帮助你
如果是这样就在你的主页(index.php)同一文件夹下建立index0.php并保证当前文件夹可以写入
index0.php代码如下
<?php
ob_start();//将这里以后的所有输出内容保存
include('index.php');//加载原首页
$write=ob_get_contents();//ob_get_contents函数获取输出内容,兼容php4以上版本
if(!$fh=fopen('index.html','w')){
exit("不能打开文件'index.html'");
}
if(fwrite($fh,$write)===false){
exit("不能写入文件'index.html'");
}
fclose($fh);
echo"静态首页成功更新!"
?>
每次打开这个页面(index0.php),都会直接显示你的首页(动态地)并将显示的东西写入index.html文件,并在最后显示是否成功更新。当然你可以选择不显示更新状态,看你喜欢如何
以后你就可以通过访问index0.php来生成静态首页,静态首页为index.html
Ⅵ php如何实现网页静态
一、静态化的优点:
1有利于搜索引擎收录网站页面的信息:搜索引擎更喜欢静态的,更变于抓取,搜索引擎SEO排名会更容易提高。
2静态网页化网页稳定
3可以提高网页加载速度
4减轻服务器负担,浏览器不需要频发调用数据库。
5数据库出错不会影响正常访问
二、伪静态
PHP伪静态:是利用Apache mod_rewite实现url重写的方法
改写访问地址,能够通过URL的PATHINFO模式来改动它。让它看上去更像一个静态页面。从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化
三、纯静态化
纯静态化,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存。而且在ob_start之前不能有不论什么输出,否则运行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串。第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回True,失败返回False。
<?php
if(file_exists("match.html") && (time()-filemtime("match.html"))<300)
{
//如果存在对应的静态文件,则直接访问
require_once("match.html");
}else{
//这里用数组来仿真数据库操作,现实一般都是操作数据库得到对应数据
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//载入模板
require_once("muban.php");
file_put_contents("match.html",ob_get_clean());
require_once('match.html');
}
Ⅶ 高分求php转静态程序越完整越好。
你可以试一下我这个 函数
makehtml.html
<a href="make.php?action=links" class="red">生成</a>
----------
make.php
<?php
error_reporting(7);
set_time_limit(0);
// 加载后台函数集合
require_once ("global.php");
require_once ("inc/make_inc.php");
//mklinks
if($_GET['action'] == 'links'){
$MK->makelinks();
redirect("操作成功!", "./article.php?action=make");
}
?>
--------
make_inc.php
<?
error_reporting(7);
require "template.php";
$MK = new makes;
$MK->pf=$db_prefix;
$MK->cf=$configuration;
$MK->DB=$DB;
$MK->t=new template("../templates/".$configuration[template]);
class makes {
// ####################### mklinks #######################
function makelinks()
{
$putsort="<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td><div class=\"download_all_categories\">
<ul>";
$querys = $this->DB->query("SELECT * FROM ".$this->pf."link order by linkid desc");
while ($lrow=$this->DB->fetch_array($querys))
{
$putsort.="<li>".$lrow['value']."</li>";
}
$putsort.="</ul>
</div>
</td>
</tr>
</table>";
$this->t->set_file("links","links.html");
$this->t->set_var(array(
"putsort"=>$putsort,
"html_author"=>$_SESSION[gp_username],
"html_time"=>date("Y-m-d H:i:s",time()),
"keywords"=>$cf['keywords'],
"description"=>$cf['description'],
"puttitle"=>$this->cf['title'],
"template"=>$this->cf['template'],
"right"=>$this->cf['right'],
"puturl"=>$this->cf['url']));
$this->t->parse("OUT","links");
$filename = "../links.html";
$this->t->savetofile("$filename","OUT");
$this->t->renew();
}
?>
这是关键的几个文件,如再不明白,就在线hi我吧
Ⅷ PHP网站如何实现网页伪静态或静态
伪静态 实际是服务器的设置,php实现静态,就是用php生成静态页,可以考虑用php的smarty 模板引擎
Ⅸ php网站怎么生成静态
生成静态基本就是写文件了。
首先要有写入权限,然后获取到要写入文件的内容,然后创建指定的文件,然后把内容写入到指定文件中。这个就是写文件的过程了,也就是生成静态的过程。
现在市面上有很多好的CMS的供你使用,像上面几楼说的帝国cms(ecms),织梦cms(dedecms),phpcms(简称pc),cmstop等等,这些都是基于PHP语言的可生成静态页面的CMS
Ⅹ 怎么把php页面变成静态页面
首先要确定你的Apache启用了mod_rewrite模块,并且将http.conf文件中网站所在目录的AllowOverride None 改为 AllowOverride all
然后在程序目录下创建一个名为 .htaccess的文件
将以下内容写入这个文件里:
RewriteEngine On
RewriteRule ^index/([0-9]+)\.html$ index.php?page=$1