今、私は圧縮方法を使用していません.bodyタグの間に以下を入れてください:
<link rel="stylesheet" type="text/css" href="Client/Css/all.css" />
PHP で ob_start("ob_gzhandler") を使用してこの css ファイルを圧縮することは可能ですか?
そしてどうやって?
これは通常、プログラムによって行われるのではなく、Web サーバーによって処理されます。
Apache の場合、使用できるmod_gzipまたはmod_deflateモジュールがあります。
IISには、使用できる設定があります。
はい、できます (圧縮を実行する php スクリプトを介してファイルをパイプする場合)。しかし、単に出力を圧縮するだけではありません。圧縮された出力は、それをサポートするクライアントにのみ送信する必要があります。キャッシュ情報/要求を適切に処理する必要があります。等。
多くの場合、Web サーバーには、PHP スクリプトを必要とせずにすべてを実行するためのサポートが含まれています。Apache の場合は、mod_deflate と mod_mime (ディレクティブ AddEncoding) を見てください。
新しいバージョンの apache Web サーバーを使用している場合は、次を .htaccess ファイルに追加します。
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
いくつかの方法があります。
ファイルを PHP として扱うように Web サーバーに指示し (名前を .php 拡張子に変更するのが最も簡単です)、次のように追加します。
<?php
header("Content-type: text/css; charset=utf-8");
ob_start("ob_gzhandler")
?>
頂点に。
同じことを行う PHP スクリプトを作成できますが、インラインではなく CSS ファイルを読み込みます。
どちらのオプションもキャッシングの問題につながります。正気を保つには、キャッシュ制御の HTTP ヘッダーにも注意する必要があります。
最良のオプションは、PHP のことは忘れて、Web サーバーを構成してこれらのファイルを圧縮することです (mod_deflate、mod_gzip などを使用)。
何を達成しようとしていますか?コンポーネントを圧縮してクライアントのブラウザに送信し、ダウンロードを高速化する場合は、mod_defalte を使用する必要があります。それができない場合は、ここで詳細を見つけることができます: 「gzip php css」をグーグルで検索した最初の結果
編集:古いバージョンのApacheを使用していない限り、 mod_gzipではなくmod_deflate を使用する必要があることを指摘したいだけです。