複数のスキンをサポートするWebサイトを書き直しています。現在、画像とCSSの変更を許可することを計画していますが、基になるHTMLは変更されません。また、スキンが画像またはCSSファイルを変更しない場合は、ベーススキンからそのファイルを継承します。
そのことを念頭に置いて、スキンに依存するファイルを提供するためにこれまでに検討した3つの方法を次に示します。
- ルックアップ関数を使用して、すべてのスキン固有のリクエストリクエストをビューにラップします。
<img src = "<?php get_skin_file('/ images / header.png'、'skin1');?>" /> 関数get_skin_file($ file、$ skin){ $ skin_file='/'。$skin。'/'。$ file; if(is_readable($ skin_file))return $ skin_file; '/default/'を返します。$ file; }
phpに画像を提供させる
<img src="/header.png.php?skin=skin1" />
常にスキンファイルのロードを試み、存在しない場合は、ModRewriteを使用して結果をphpハンドラスクリプトに送信します。
<img src="/skin1/header.png" />
2番目は私がやりたいことですが、PHPが基本的にすべての画像ファイルを提供することのパフォーマンスへの影響に関心があります。
私のユーザーベースは十分に小さいので(約3万人のユーザー)、それが実際に問題になるとは思わないが、この状況で他の人々が何をしているのかを学びたい。
ありがとう。
編集:コードが正しくフォーマットされていない理由がわかりません。コードボタンを押して、4スペースであることを確認しましたが、それでも醜いです。申し訳ありません。