金色的骷髅 发表于 2015-2-3 23:40:17

PHP编程:PHP将全部网站生成HTML静态

如果不会怎么办,我的视频教程里有个最简单的留言板 最开始离不开模仿,   我常常会在网上看到有人问怎样将全部静态的网站静态化,其实完成的办法很复杂。

<?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.html"))
{
   $time = time();
         
          //文件修正工夫和如今工夫相差半小时一下的话,直接导向html文件,不然从头生成html
   if($time - filemtime("xxx.html") < 30*60)
   {
         header("Location:xxx.html");
   }
}
//在你的入手下手处到场 ob_start();
ob_start();

//页面的具体内容
//在开头到场 ob_end_clean(),并把本页输入到一个变量中
$temp = ob_get_contents();
ob_end_clean();

//写入文件
$fp = fopen(‘xxx.html’,'w’);
fwrite($fp,$temp) or die(‘写文件毛病’);

//从头导向
header("Location:xxx.html");

上面是一些用到的函数的引见:
1、Flush:刷新缓冲区的内容,输入。
函数格局:flush()
申明:这个函数常常利用,效力很高。
2、ob_start :翻开输入缓冲区
函数格局:void ob_start(void)
申明:当缓冲区激活时,一切来自PHP法式的非文件头信息均不会发送,而是保留在外部缓冲区。为了输入缓冲区的内容,可使用ob_end_flush()或flush()输入缓冲区的内容。
3 、ob_get_contents :前往外部缓冲区的内容。
利用办法:string ob_get_contents(void)
申明:这个函数会前往以后缓冲区中的内容,假如输入缓冲区没有激活,则前往 FALSE 。
4、ob_get_length:前往外部缓冲区的长度。
利用办法:int ob_get_length(void)
申明:这个函数会前往以后缓冲区中的长度;和ob_get_contents一样,假如输入缓冲区没有激活。则前往 FALSE。
5、ob_end_flush :发送外部缓冲区的内容到阅读器,而且封闭输入缓冲区。
利用办法:void ob_end_flush(void)
申明:这个函数发送输入缓冲区的内容(假如有的话)。
6、ob_end_clean:删除外部缓冲区的内容,而且封闭外部缓冲区
利用办法:void ob_end_clean(void)
申明:这个函数不会输入外部缓冲区的内容而是把它删除!
7、ob_implicit_flush:翻开或封闭相对刷新
利用办法:void ob_implicit_flush ()
申明:利用过Perl的人都晓得$=x的意义,这个字符串可以翻开/封闭缓冲区,而ob_implicit_flush函数也和谁人一样,默许为封闭缓冲区,翻开相对输入后,每一个剧本输入都直接发送到阅读器,不再需求挪用 flush()
<P style="TEXT-INDENT: 2em">
会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!

因胸联盟 发表于 2015-2-4 05:12:04

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

蒙在股里 发表于 2015-2-9 16:16:42

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

金色的骷髅 发表于 2015-2-26 23:53:48

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

若天明 发表于 2015-3-1 18:13:07

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

飘灵儿 发表于 2015-3-10 21:41:38

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

山那边是海 发表于 2015-3-17 10:51:52

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

小妖女 发表于 2015-3-22 21:24:31

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

海妖 发表于 2015-3-25 02:35:39

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

乐观 发表于 2015-3-31 03:36:17

本文当是我的笔记啦,遇到的问题随时填充

再现理想 发表于 2015-4-1 06:11:27

基础有没有对学习php没有太大区别,关键是兴趣。

若相依 发表于 2015-4-3 04:20:51

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

精灵巫婆 发表于 2015-4-7 14:15:54

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

灵魂腐蚀 发表于 2015-4-12 23:52:24

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

变相怪杰 发表于 2015-4-21 03:56:22

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

再见西城 发表于 2015-4-27 21:15:09

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

分手快乐 发表于 2015-5-2 16:29:29

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

深爱那片海 发表于 2015-5-3 13:18:14

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

只想知道 发表于 2015-6-24 22:34:44

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

谁可相欹 发表于 2015-6-27 21:40:23

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
页: [1]
查看完整版本: PHP编程:PHP将全部网站生成HTML静态