原理只需要两句话,细节你在自己处理就可以了
$content=file_get_contents("网址");
file_put_contents("a.html",$content);
可以直接粘下拉,把网址换成你想生成静态页面的网址,就可以了
希望对你有帮助
PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化.
在使用Smarty的情况下,也可以实现页面静态化.下面先简单说一下使用Smarty时通常动态读取的做法.?
一般分这几步:
①.、通过URL传递一个参数(ID);
②.、然后根据此ID查询数据库;
③.、取得数据后根据需要修改显示内容;
④.、assign需要显示的数据;
Smarty静态化过程只需要在上述过程中添加两个步骤.
第一:在1之前使用 ob_start() 打开缓冲区.
根据上述描述,此过程是在网站前台实现的,而内容管理(添加、修改、删除)通常是在后台进行,为了能有效利用上述过程,可以使用一点小手段,那就是Header().具体过程是这样的:在添加、修改程序完成之后,使用Header() 跳到前台读取,这样可以实现页面HTML化,然后在生成html后再跳回后台管理侧,而这两个跳转过程是不可见的.
你这个不是静态页面啊...还是动态页...
如果实现伪静态的话..
不是PHP可以做到的....应该是APACHE的mod_rewrite
IIS下的ReWrite是收费的..一般虚拟主机不提供~~~
smarty只是模板引擎而已..和URL无关~~
你打印下$_SERVER看看~~
你的页面在$_SERVER里能得到一个值 $_SERVER["PATH_INFO"]
包括了你想要的东西..然后去取就可以了~~
一种是利用模板技术,另一种是用ob系列函数.两种方法,看起来都差不多,但是实际上,却是不同的.
第一种:利用模板
目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smart?template等.
它们每一种模板,都有一个获取输出内容的函数.
我们生成静态页面的方法,就是利用了这个函数.
用这个方法的优点是,代码比较清晰,可读性好.
这里我用smarty做例子,说明如何生成静态页
php
require('smarty/Smarty.class.php');
$t?=?new?Smarty;
$t-assign("title","Hello?World!");
$content?=?$t-fetch("templates/index.htm");
//这里的?fetch()?就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
fwrite($fp,?$content);
fclose($fp);
第二种方法:利用ob系列的函数
这里用到的函数主要是?ob_start(),?ob_end_flush(),?ob_get_content(),
其中ob_start()是打开浏览器缓冲区的意思,
打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,
而是保存在内部缓冲区,直到你使用了ob_end_flush().
而这里最重要的一个函数,就是ob_get_contents(),
这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),
道理一样的.代码:
ob_start();
echo?"Hello?World!";
$content?=?ob_get_contents();//取得php页面输出的全部内容
$fp?=?fopen("0001.html",?"w");
伪静态实现方式两种:
① web服务器上设置.html或者.htm等后缀的页面也通过PHP来处理即可,比如Nginx或者Apache,都有这样的配置文件,设置PHP处理的文件后缀类型,这样前台请求的htm文件,实际上是PHP代码
② 通过设置web服务器的rewrite规则来实现,每个web服务器基本上都有这个功能,看看手册即可实现
真正的静态实现:
以上就是土嘎嘎小编为大家整理的php生成静态页面相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!