2016-12-27 24 views
-1

pngが壊れているかもしれませんが、まだすべてのデスクトップイメージビューアで読み込まれますが、PHPでは読み込まれません。PHPで破損したpng(切り捨てられたデータ)を修正しました

エラーimagecreatefrompngを呼び出すことである。

Warning: imagecreatefrompng(): gd-png: fatal libpng error: Read Error: truncated data in test.php on line 45

Warning: imagecreatefrompng(): gd-png error: setjmp returns error condition in test.php on line 45

Warning: imagecreatefrompng(): 'test.png' is not a valid PNG file in test.php on line 45

Here is the image in question

はさらに、それを処理する前に、とにかくPHPで画像を定着ありますか?私はそれをデスクトップイメージビューアを開いてpngとして再保存することで修正することができますが、この破損した形式の画像サーバー側を修正する必要があります。エラーはイメージがIENDチャンクを持っていない言うようにセクションの重要なチャンク下PNG standard

pngcheck test.png 
test.png file doesn't end with an IEND chunk 

答えて

0

11.2.1は

A valid PNG datastream shall begin with a PNG signature, immediately followed by an IHDR chunk, then one or more IDAT chunks, and shall end with an IEND chunk. Only one IHDR chunk and one IEND chunk are allowed in a PNG datastream.

を言います。これは有効なPHPイメージではなく、PHPはイメージの処理を拒否するすべての権利を持っています。

これで、画像はどのようにあなたに届いているのですか?イメージを取得するために別のシステムに接続しているか、データベースから取得しているか、ユーザーがアップロードしていますか?

+0

これはツールによって生成されています。私はコントロールできないので、常に壊れてしまいますので、CLIツールなどを見つけて修正する必要があります(現在、デスクトップイメージツールで開いて再固定します)。 )。 – Titan

関連する問題