PHP增加图像的块数据大小

PHP增加图像的块数据大小,php,png,imagecreatefrompng,Php,Png,Imagecreatefrompng,我有一个PNG图像存储在一个变量中。该文件未损坏,但大26,7mb/2908x3444像素。我想加载图像,并且已经在许多其他图像上使用imagecreatefromstring。但在这幅图像上,zTXt失败:区块数据太大。我认为这可能是由imagecreatefromstring引起的,所以我安装了Imageick并尝试了readImageBlob,但我得到了相同的错误 如何使用bis文件大小加载图像 测试脚本: <?php $picture = file_get_contents('h

我有一个PNG图像存储在一个变量中。该文件未损坏,但大26,7mb/2908x3444像素。我想加载图像,并且已经在许多其他图像上使用imagecreatefromstring。但在这幅图像上,zTXt失败:区块数据太大。我认为这可能是由imagecreatefromstring引起的,所以我安装了Imageick并尝试了readImageBlob,但我得到了相同的错误

如何使用bis文件大小加载图像

测试脚本:

<?php

$picture = file_get_contents('https://live.staticflickr.com/65535/49177974597_69c2581172_o_d.png');
$image=imagecreatefromstring($picture);

header('Content-type:image/png');
header("Content-Disposition: inline; filename=picture.png");
echo imagepng($image);

?>
编辑:阿尔瓦罗·冈萨雷斯回答正确,图像受损。我从未想过图像会被破坏,因为它显示在包括Windows图片查看器在内的大多数图像查看器中。Gimp是正确的工具来分析哪些图片损坏了,哪些没有

在我的例子中,这个.png图像是在我的PHP脚本中下载的,它是由我以前的脚本生成的

此脚本已下载原始图像,该图像为.tiff文件,删除alpha并将其转换为png

我的错误是,我对Imagick做了以下事情: 1.下载文件 2.移除阿尔法 3.压平 4.移除阿尔法 5.转换为png 6.拯救

现在我做以下几点: 1.下载文件 2.转换为png 3.移除阿尔法 4.拯救


该图像现在在所有图像查看器(包括Gimp和Windows Picture Viewer)中都可见,并且在我想用PHP输出它时显示正确。

zText:区块数据太大意味着文件已损坏。要确认您可以使用GIMP等工具打开它,请执行以下操作:

通常情况下,来自主要供应商(如Chrome或Firefox)的工具更具弹性,通常可以恢复损坏的数据并正常显示,但规模较小的开源工具(如GIMP或PHP)则会发生冲突