我已经编写了一些调整图像大小的代码(遵循PHP手册),但我无法显示图像。当我回显$thumb时,我知道图像数据是存在的,但我似乎无法显示实际的图像。
这是我使用过的代码:
$row = mysql_fetch_array($result);
$image = $row["image"];
echo $image;
echo $row["name"];
list($width, $height) = getimagesize($image);
$newwidth = $width * 0.1;
$newheight = $height * 0.1;
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($image);
imagecopyresized($thumb, $source, 0,0,0,0, $newwidth, $newheight, $width, $height);
header('Content-Length: '.strlen($thumb), true);
header("Content-type: image/jpeg");
echo imagejpeg($thumb);
感谢您的帮助
- 从
$thumb
删除't
- 您不能在jpeg文件中打印字符串。因此删除
echo $image;
和echo $row["name"];
- 您可以将此代码放在另一个文件中,并将其用作图像
index.php:$row = mysql_fetch_array($result);
$image = $row["image"];
echo $image;
echo $row["name"];
echo '<img src="image.php">';
image.php:
$row = mysql_fetch_array($result);
$image = $row["image"];
list($width, $height) = getimagesize($image);
$newwidth = $width * 0.1;
$newheight = $height * 0.1;
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($image);
imagecopyresized($thumb, $source, 0,0,0,0, $newwidth, $newheight, $width, $height);
$h = str_replace(''t','',$thumb);
header('Content-Length: '.strlen($h), true);
header("Content-type: image/jpeg");
imagejpeg($thumb);