PHPアプリケーションでは、画像が次のように提供されています。
<img src="http://www.example.com/image/view/93029420" />
バックエンドでは、次のようなことを行います。
$query = "SELECT img_url FROM images WHERE image_id = '93029420'";
$result = DB.findOne($query);
$contents = file_get_contents($result['img_url'] );
header('Content-Type: image/png');
echo $contents;
exit();
データベースに保存されている画像の URL は、amazon などの cdn です。したがって、 https://images.mybucket.s3.com/slippers.pngのようになるかもしれません。そのアプローチで画像を表示するか、次のようなリダイレクトを使用する方がよいでしょうか:
$query = "SELECT img_url FROM images WHERE image_id = '93029420'";
$result = DB.findOne($query);
header('Location: ' $result['img_url'] );
exit();
このアプローチが優れていると私が想像する唯一の理由は、画像をダウンロードするためのサーバーでの処理が少ないためです。これは正しいか正しくないか、より良いアプローチはありますか?