Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maykel-ctba

Erro ao gerar thumbs (finfo_open com problema) - Intervention Image

Recommended Posts

Fala galera,

 

Tenho usado com frequência o gerador de thumbnails Intervention, indicado pelo @Beraldo um tempo atrás. Sempre tem servido bem e funcionado na maioria dos casos.

 

Porém, surgiu um problema em um dos casos:

 

Ao acessar a URL do thumb no Speedhost, recebo o seguinte retorno:

Warning: finfo_open() expects parameter 1 to be long, string given in /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php on line 159 Warning: finfo_buffer(): supplied argument is not a valid file_info resource in /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php on line 159 Fatal error: Uncaught exception 'Intervention\Image\Exception\NotReadableException' with message 'Unable to init from given binary data.' in /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php:92 Stack trace: #0 /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php(242): Intervention\Image\Gd\Decoder->initFromBinary('../../upload/ar...') #1 /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Intervention/Image/AbstractDriver.php(64): Intervention\Image\AbstractDecoder->init('../../upload/ar...') #2 /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Intervention/Image/ImageManager.php(50): Intervention\Image\AbstractDriver->init('../../upload/ar...') #3 /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Interve in /var/hsphere/local/home/clinova/clinicanovaesperanca.com.br/common/lib/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php on line 92 

Ao que entendi, o script não está conseguindo ler o conteúdo da imagem. Porém, em qualquer outro servidor, funciona normalmente. A URL está correta, e os caminhos também.

<?php	ini_set( "short_open_tag", 1 ); 	ini_set( "display_errors", true );	error_reporting( E_ALL ^ E_NOTICE );		require('../lib/vendor/autoload.php');		use Intervention\Image\ImageManagerStatic as Image;		$img = Image::make("../../".$_GET['url']);		if(isset($_GET['crop']) && $_GET['crop'] == true){		if(isset($_GET['cropDir'])){			$img->fit($_GET['largura'],$_GET['altura'],null,$_GET['cropDir']);		}		else{			$img->fit($_GET['largura'],$_GET['altura']);		}	}	else{		$img->resize($_GET['largura'], $_GET['altura'], function ($constraint){			$constraint->aspectRatio();		});	}		echo $img->response('jpg', 100);	?>

Analisei o trecho com erro em questão:

    public function isBinary()    {        if (is_string($this->data)) {            $mime = finfo_buffer(finfo_open(FILEINFO_MIME_TYPE), $this->data);            return (substr($mime, 0, 4) != 'text' && $mime != 'application/x-empty');        }        return false;    }

Seria a linha do $mime. Não entendi porque ele foi no isBinary(), sendo que a imagem não é binária.

 

O servidor pode estar lendo de maneira incorreta o arquivo?

 

 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.