2

顧客向けのシンプルなウェブサイトを構築するためのシンプルな cms を作成しました。cms はデータベース駆動型です。パフォーマンスを向上させるために、Web サイトのオフライン/キャッシュ/静的コピーを作成したいと考えています。

Web サイトをトラバースして静的バージョンを作成する php スクリプトはありますか?

4

3 に答える 3

1

自分で作成して、シンプルな CMS に統合しますか?

MemcacheAPC、およびアプリケーションによって生成された単純な静的ファイルなど、使用できる可能性はたくさんあります。

キャッシュの書き込みに関する実際の問題を提供していないため、質問はかなりあいまいです。しかし、私が言及した最初の 2 つのオプションに加えて、単純な静的ファイル キャッシュは、 file_get_contentsfile_put_contents、およびfilemtimeで実現できます。

例 (緩い):

<?php


if( file_exists("/cache_dir/".$page_name) && (time() - filemtime("/cache_dir/".$page_name)) > 300)
{
  $contents = file_get_contens("/cache_dir/".$page_name);
}
else
{
  // getting the page contents
  ob_start();

  //output your page

  $contents = ob_get_clean();
  file_put_contens($contents, "/cache_dir/".$page_name);
}

echo $contents;

?>

これは短く大まかに作成された例ですが、アプリケーションに適したソリューションを作成する方法を理解するのに役立つ場合があります。

于 2012-05-16T08:40:45.650 に答える
1

サイトを最適化するために多くのことを行うことができます。ほとんどの場合、サイトをトラバースしてキャッシュを作成することはありません。非常に単純な独自のクラスを作成するか、既に作成されているクラスを使用することができます。

http://www.jongales.com/blog/2009/02/18/simple-file-based-php-cache-class/

それが機能する方法は、誰かがライブページに初めてアクセスしたときに、キャッシュが存在しない場合はキャッシュを作成しますが、キャッシュが存在する場合はキャッシュバージョンを提供します

于 2012-05-16T08:44:44.897 に答える
0

キャッシュは、特にオフラインの場合、ほとんどの最新のブラウザーによって自動的に行われます。PHP はサーバー側の言語であるため、「オンライン」エンドでのみ影響を与えるように制限されています。ただし、パフォーマンスを向上させたい場合は、PHP を介してリソースを自動的に縮小してみることができます。

データをオフラインで保存することに非常に熱心な場合は、Cookie に何が収まるかを確認できますが、それが従来の方法であるとは思えません。

編集:

サーバー側で静的ページを作成することを意味する場合は、そうです。適切な権限があれば、fopen() および関連する関数を使用してページを作成および編集できます。

于 2012-05-16T08:38:43.263 に答える