0

我已经编写了一些代码来调整图像的大小(遵循 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);

感谢您的任何帮助

4

1 回答 1

2
  1. 删除\t$thumb
  2. 您不能在 jpeg 文件中打印字符串。所以删除echo $image;echo $row["name"];
  3. 您可以将此代码放在另一个文件中并将其用作 image 。

索引.php:
$row = mysql_fetch_array($result);
$image = $row["image"];
echo $image;
echo $row["name"];
echo '<img src="image.php">';

图像.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);

于 2013-08-19T13:20:49.687 回答