PHP-无法显示图像,因为其中包含错误

时间:2018-07-10 13:39:43

标签: php jpeg

伙计们,

我继承了一些旧代码,这些旧代码从数据库中读取BLOB,对其进行解析,然后返回要在浏览器中显示的jpeg流。以前在PHP 5.5上运行的旧代码,此后已部署到我遇到此问题的PHP 7.1服务器上。

我已经确保php的gd库已安装并加载到Apache中,我可以验证它是否已启用并正在使用php info文件。我还从数据库中转储了该值,并确保blob是有效的映像。由于某种原因或其他原因,我无法获得提供图像的功能。

这是从数据库中检索数据并将其存储在$image

中之后的函数代码
$image = imagecreatefromstring($image);

$originalWidth = imagesx($image);
$originalHeight = imagesy($image);

header ( 'Content-type:image/jpeg' );
if($originalWidth == $width && $originalHeight == $height)
{
  if($thumb && $width >= $originalWidth) echo imageautocrop($image);
  else echo imagejpeg($image);
}
else
{
  $ratio = $originalHeight/$originalWidth;

  $height = $width*$ratio;

  $height = round($height);
    $new = imagecreatetruecolor($width, $height);

    imagecopyresampled($new, $image, 0, 0, 0, 0, $width, $height, imagesx($image),imagesy($image));
    imageantialias($new, true);

  if($thumb) imageautocrop($image);
  else imagejpeg($new, null, $quality);

  imagedestroy($new);
} 

我尝试使用确切的尺寸以及裁剪后的尺寸,但这两个都不起作用。

0 个答案:

没有答案