画像を取得しリダイレクトするPHP

目的

サーバー側の設定により、外部参照を不可としている場合がある。
この時、以下のエラーとなる。
これを回避する為、一旦画像を読み込み、リダイレクトする。

Failed to load resource: the server responded with a status of 403 (Forbidden)

PHP

<?php
$f = $_GET["f"];

// 画像パス取得
if($file = file_get_contents($f)) {
$mime = get_mime_type($file);
header("Content-Type: {$mime}");
print $file;
exit();
}

print "Error";
exit();

/* MIMEタイプ設定 */
function get_mime_type($path) {
$mimeTypeList = array(
"jpg" => "image/jpeg",
"jpeg" => "image/jpeg",
"png" => "image/png",
"gif" => "image/gif",
"bmp" => "image/bmp"
);

$info = pathinfo($path);

if(isset($info["extension"]) && isset($mimeTypeList[ $info["extension"] ])) {
return $mimeTypeList[ $info["extension"] ];
}
}

使用方法

本コードのファイル名をresponse.phpとします。

response.php?f=画像URL