ホームページ  >  記事  >  バックエンド開発  >  PHPで静的ファイルを生成する2つの方法

PHPで静的ファイルを生成する2つの方法

WBOY
WBOYオリジナル
2016-07-25 09:05:46901ブラウズ
  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 df
  44. >
  45. $s->end();
  46. ?>
コードをコピー
添付ファイル: 1. フラッシュ: バッファーと出力の内容をリフレッシュします。 関数形式:flush() 説明: この関数は頻繁に使用され、非常に効率的です。

2. ob_start: 出力バッファをオープンします。 関数形式: void ob_start(void) 注: バッファーがアクティブ化されると、PHP プログラムからのファイル以外のヘッダー情報はすべて送信されず、内部バッファーに保存されます。バッファの内容を出力するには、ob_end_flush() または flash() を使用してバッファの内容を出力します。

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 で静的ページを生成する 3 つの方法とコードの詳細 静的ページ関数を生成するPHPの例(php2html) PHPで静的ページを生成する方法(3つの関数) PHPによって生成された静的ファイルのテンプレートとキャッシュの詳細 静的ページを生成するためにphpで書かれたクラス 仮想ホスト上に静的ページを定期的に自動生成する方法 phpを使用した静的ページの生成に関する詳細なチュートリアル 静的HTMLファイルを生成するPHPの原理分析 smartyを使用して静的ページを生成する方法 PHPが静的HTMLファイルを生成する原理を理解する PHPで静的ページを生成する方法 phpで静的htmlファイルを生成する3つの方法


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。