php 面向过程分页,php面向过程的全站静态化

生成静态文件的原理:

1.先开启缓存  ob_start();

//在php页面最顶部开启

2.通过ob_get_contents()函数  获取缓冲区的内容

//在php页面结束处使用来获取页面的内容

3.获取缓存区内容后,然后使用ob_end_clean ()

//清除缓冲区并关闭输出缓冲

$content=ob_end_clean();

4.设置要生成静态文件的文件名和路径,以可以写入的方式打开

如 $path="index.html";

$fp=fopen($path,'w');

5.最后通过fwrite()将获取的缓冲的内容写入到要生成的文件

fwrite($fp,$content);

到此页面就已经生成了

只要每次运行php页面他就会生成文件并且覆盖相同的文件名,但此时php文件是无法查看内容的

所以需要在后台给个生成静态文件的入口,用来操作运行指定的php文件

可以通过file_get_contents (url);

只要在后台运行一下这个url那么就生成了一个新的文件

要实现全站静态,前台的所有php文件名,以及相应的分页,列表都要换成可以链接的html路径

下面是一个静态文件的生成类

class static_page(){

public $path;

public $page;

//定义一个生成静态文件的方法

function

admin_commit()

{

$file_url=$this->path.$this->page;

$out1 =

ob_get_contents();

ob_end_clean();

$fp =

fopen($file_url,"w");

if(!$fp)

{

echo

"System Error";

exit();

}

else

{

fwrite($fp,$out1);

fclose($fp);

//echo "Success";

//header("Location: $file_url"); //后台执行静态化不跳转

}

}

}

?>

//静态类的使用

1.在php文件开始部位(这里指含有html的php文件),写上下面的代码

//引用静态类文件

include  "include/jthtml.php";

//实例化静态类

$static=new static_page();

if($_GET[page]){

$static_page="brand".$_GET[page].".html";

}else{

$static_page="brand.html";

}

$static->page=$static_page;

//$static->select(4);

ob_start();

?>

2.php文件的最末尾调用下面这段代码

//在php最未出调用静态方法

$static->admin_commit();

?>

?>

3.运行php文件就会想要按照规则生成一个静态的html文件,为了方便可以在后台写些方法,给几个按钮相应的生成对应栏目的静态文件(实际上就是对应的刷新要生成静态文件的php文件)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值