Heim  >  Artikel  >  Backend-Entwicklung  >  php生成静态文件的二种方法

php生成静态文件的二种方法

WBOY
WBOYOriginal
2016-07-25 09:05:46948Durchsuche
  1. ob_start();#开启服务器缓存
  2. include_once 'Index.php';
  3. $ctx=ob_get_contents();#获取缓存
  4. ob_end_clean();#清空缓存
  5. $fh=fopen("index.html","w+");
  6. fwrite($fh,$ctx);#写入html,生成html
  7. fclose($fh);
  8. ?>
复制代码

方法2:php 静态文件生成类

  1. class CreateHtml
  2. {
  3. function mkdir( $prefix= 'article' )
  4. {
  5. $y = date('Y');
  6. $m = date('m');
  7. $d = date('d');
  8. $p=DIRECTORY_SEPARATOR;
  9. $filePath='article'.$p.$y.$p.$m.$p.$d;
  10. $a=explode($p,$filePath);
  11. foreach ( $a as $dir)
  12. {
  13. $path.=$dir.$p;
  14. if(!is_dir($path))
  15. {
  16. //echo '没有这个目录'.$path;
  17. mkdir($path,0755);
  18. }
  19. }
  20. return $filePath.$p;
  21. }
  22. function start()
  23. {
  24. ob_start();
  25. }
  26. function end()
  27. {
  28. $info = ob_get_contents();
  29. $fileId = '12345';
  30. $postfix = '.html';
  31. $path = $this->mkdir($prefix= 'article');
  32. $fileName = time().'_'.$fileId.$postfix;
  33. $file=fopen($path.$fileName,'w+');
  34. fwrite($file,$info);
  35. fclose($file);
  36. ob_end_flush();
  37. }
  38. }
  39. ?>
  40. $s=new CreateHtml();
  41. $s->start();
  42. ?>
  43. asdfasdfasdfasdfasdfasdfasdfasdfasdf
  44. adfasdfasdf
  45. >
  46. $s->end();
  47. ?>
复制代码

附: 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 ([int flag])

您可能感兴趣的文章: php生成静态页面的三种方法与代码详解 php生成静态页面函数(php2html)的例子 php生成静态页面的方法(三个函数) 细说php生成静态文件之模板与缓存 php写的一个生成静态页面的类 虚拟主机上定时自动生成静态页面的方法 php生成静态页面的详细教程 php生成静态html文件的原理分析 smarty生成静态页面的方法 了解php生成静态HTML文件的原理 PHP生成静态页面的方法 php生成静态html文件的三种方法



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn