伙计们,
我继承了一些旧代码,这些旧代码从数据库中读取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);
}
我尝试使用确切的尺寸以及裁剪后的尺寸,但这两个都不起作用。