先週、ページのimg src値を、画像ファイルを指す値から、PHPスクリプトを使用して画像を提供するように変換しました。主な理由は、ファイルとデータベースBLOBの両方を実際のソースとして収容することでした。
これで、ユーザーがページにアクセスすると、画像が表示される場合と表示されない場合があります。そうでない場合、ページが更新/再読み込みされると、画像が表示されます。画像が表示されない場合は、ユーザーが以前にアクセスした画像である場合があります。
私は困惑しています。
imgタグは次のとおりです。
<img src="../somedir/image_script.php?i=1234">
image_script.phpファイルは、画像の取得元を特定し、次のように終了します。
header("Content-type: image/jpeg");
if($from_db){
print $image_blob;
} else {
$im = imagecreatefromjpeg($image_file);
imagejpeg($im,null,100);
imagedestroy($im)
}
FastCGIを使用してIIS6でPHP5.2.8を使用しています。image_script.phpファイルにもそのディレクトリにもキャッシュヘッダーはありません。現在、画像の99.9%がファイルベースであるため、dbベースの画像とファイルベースの画像の結果に違いがあるかどうかはわかりません。 。ブラウザでimage_script.phpに直接アクセスすると、要求された画像(i = ????)が100%返されます。
a>画像が表示されているときにヒットとミスが発生する理由についての手がかりはありますか?と、
b> PHPスクリプトによって提供される画像を実際にキャッシュする適切な方法は何でしょうか?(それらは非常に静的です)
- スコット