画像をURLからjpgに変換し、必要に応じてサイズを変更して出力しようとしています。
問題は、結果の画像が読めないことです。
require('SimpleImage.php');
function BildInBLOB($linkadresse)
{
$maxsize = 65536;
ob_start();
header('Content-Type: image/jpeg');
$image = new SimpleImage();
$image->load($linkadresse);
$width = 150;
$height = 150;
if ($image->getWidth() > $image->getHeight())
{
$ratio = 150 / $image->getWidth();
$height = $image->getheight() * $ratio;
}
else
{
$ratio = 150 / $image->getHeight();
$width = $image->getWidth() * $ratio;
}
$image->resize($width,$height);
$image->output();
$data = ob_get_contents();
ob_end_clean();
$serialized_data = serialize($data);
$size = strlen($serialized_data);
if ($size < $maxsize) {
$imgData = mysql_escape_string($data);
return $imgData;
}
else
{
return false;
}
}
header('Content-Type: image/jpeg');
echo BildInBLOB('http://www.example.com/image.png');
die;
外すと
header('Content-Type: image/jpeg');
通常の jpeg コードのように見えますが、そのままにしておくとファイルを開くことができません。
何故ですか?