我正在尝试将图片从网址转换为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代码,但如果我保留它,我就无法打开文件。
为什么?
答案 0 :(得分:2)
从代码中删除以下部分:
$imgData = mysql_escape_string($data);
这会弄乱图像。