画像のサイズを動的に変更する PHP スクリプトを作成しています。イメージ ID (MySQL データベースから) は、「http://localhost/getimage/1.htm」のように渡されます。
上記のような URL でスクリプトに直接アクセスすると、画像が完全に吐き出されます。しかし、何らかの理由で (Chrome のみ)、その URL をタグにリンクすると、動作がおかしくなり始めます。ページが最初に読み込まれると、画像は正常に読み込まれますが、読み込みバーが約 5 秒間回転し、突然画像が消え、Chrome に「リソースの読み込みに失敗しました」というエラーが表示されます。
何がこれを引き起こしているのか、もしそうなら、それを止める方法を知っている人はいますか? AdBlocker と関係があるのではないかと思いましたが、それを無効にしましたが、まだ発生しています。
乾杯。
編集:これは私が使用しているコードです:
header('Content-Type:'.$file['type']);
header('Content-Length: ' . $file['bytes']);
// Get size of original image
list($o_width, $o_height) = getimagesize($file['src']);
// Default width and height
if (is_null($width)) {
$width = $o_width;
}
if (is_null($height)) {
$height = $width;
}
// Create image frame
$image_p = imagecreatetruecolor($width, $height);
// Generate image depending on source type
switch ($file['type']) {
case "image/jpeg":
default:
$image = imagecreatefromjpeg($file['src']);
break;
case "image/gif":
$image = imagecreatefromgif($file['src']);
break;
case "image/png":
$image = imagecreatefrompng($file['src']);
break;
}
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $o_width, $o_height);
// Output
imagejpeg($image_p, null, 100);
exit;
ご覧のとおり、コンテンツ タイプを設定しています。それが htm 拡張子だった場合、混乱を招きますが、画像が正しくロードされてからアンロードされる理由を説明できますか?