2013-04-08 11 views
5

Obecnie używam imagick do przetwarzania obrazu na mojej stronie internetowej. Mam go poprawnie zainstalowanego i działa świetnie. Oto mój kod początkowy -:Jak sprawdzić, czy obraz przedstawia błąd - PHP

$image = new imagick($filename); $geo=$image->getImageGeometry(); 
$image->setImageInterlaceScheme(2); $image->setImageCompressionQuality(85); 
$image->setImageBackgroundColor('white'); $image = $image->flattenImages(); 
$image->setImageFormat('jpg'); $image->stripImage(); 

Po tym zajmiemy się resztą części. Teraz załóżmy, że zgłasza błąd, jak to zaszyfrować. Próbowałem dodać if(!$image){ echo 'error' exit(); } po $image = new imagick($filename), ale na próżno.

Proszę o pomoc ... Dzięki wszystkim :)

Odpowiedz

11

Jeśli wystąpi błąd, Imagick wygeneruje ImagickException które można złapać:

try { 
     $image = new Imagick($filename); 
     $geo = $image->getImageGeometry(); 
     $image->setImageInterlaceScheme(2); 
     $image->setImageCompressionQuality(85); 
     $image->setImageBackgroundColor('white'); 
     $image = $image->flattenImages(); 
     $image->setImageFormat('jpg'); 
     $image->stripImage(); 
    } catch (ImagickException $e) 
{ 
     var_dump($e); 
    } 

dla dalszego odniesienia zobaczyć here.

+0

Bardzo dziękuję :) – sanchitkhanna26

+0

Wyjątek ImagickException wydaje się nieudokumentowany (przynajmniej na php.net). – Bell

Powiązane problemy