0

コード自体は非常に大きいため、煮詰めたバージョンを次に示します。

<?php
//set common headers
ob_start();
//generate the javascript source
$ret=ob_get_clean();
$handle=gzopen('cache/file.js.gz','wb');
gzwrite($handle,$ret);
gzclose($handle);
header('Content-Length: '.filesize('cache/file.js.gz'),true);
readfile('cache/file.js.gz');

楽しい部分。cache/file.js.gz存在しない場合はreadfile('cache/file.js.gz');、正しいサイズが報告されます。存在する場合は、ファイルの古いサイズが報告されます。

fflush($handle)の後にgzwrite同じ結果を追加しようとしました。書き込む前にファイルのリンクを解除しようとはしていません。余分なステップのようです。

通常、出力ファイルはかなり小さいです。最大は 5kB です。

サーバー情報:

  • アパッチ バージョン 2.2.23
  • PHP バージョン 5.2.17
4

1 に答える 1