我正在尝试将图像从 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 代码,但如果我保留它,我将无法打开文件。
这是为什么?