0

ストック画像を考えてみてください。購入後にのみダウンロードできるフルサイズのオリジナルがあります。その画像をフルサイズでサーバーに一度だけ置きたいとします。しかし、その画像をさまざまな場所に小さなサイズで表示したいとします (モバイル デバイスでも同様に縮小されます)。

私はこのパズルのさまざまなピースを持っていますが、それらをすべて一緒に機能させることはできませんでした:

TimThumbまたはCImageを使用すると、サーバー側で画像のサイズを変更でき、jQuery を使用すると、ユーザーの画面サイズに基づいて画像ソースを動的に変更できます。

PHP と .htaccess を使用すると、画像ファイルを webroot の外に配置し、画像名を含むスプーフィング URL を PHP ファイルにルーティングして、実際の画像を読み取り、画像データを含むヘッダーを送信することができます。罰金。

ただし、TimThumb と CImage は実際の画像 URL を処理し、指定された URL が画像の実際のファイル パスであることをテストします。

画像への URL ではなく、実際の画像データを画像サイズ変更スクリプトに送信できれば、そこからうまくいくはずです。PHP スクリプトが画像データを読み取るため、読み取りを行う前に、ユーザーに適切な資格情報が付与されていることを確認できます。

TimThumb や CImage をハッキングしたり、独自のカスタム イメージ サイズ変更スクリプトを作成したりする以外に、他に考えられる解決策はありますか?

ありがとうございました

4

1 に答える 1

0

答えはちょうど私に来ました。

.htaccess を使用して、画像処理スクリプトを介してすべての画像をルーティングします。画像処理スクリプトの最初の行に、独自のカスタム スクリプトを含めます。私のカスタム スクリプトは、GET パラメーターを実際の画像と照合して、要求されているサイズで要求されている画像を提供する資格情報をユーザーが持っているかどうかを判断します。

その場合は、画像処理スクリプトを続行します。そうでない場合は、終了するか、GET パラメーターを変更して、画像処理スクリプトがプレースホルダー画像を提供するようにします。

ほら!

于 2014-07-21T14:52:01.813 に答える