2013-04-08 23 views
5

Attualmente sto usando imagick per l'elaborazione delle immagini sul mio sito web. L'ho installato correttamente e sta funzionando alla grande. Ecco il mio codice di partenza:Come sapere se imagick genera un errore - 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(); 

Dopo questo faccio il resto della parte. Supponiamo che lanci un errore, come faccio a codificarlo per quello. Ho provato ad aggiungere if(!$image){ echo 'error' exit(); } dopo il $image = new imagick($filename) ma invano.

Si prega di aiutare ... Grazie a tutti :)

risposta

11

Se si verifica un errore, Imagick getterà un ImagickException che si può prendere:

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); 
    } 

per ulteriori riferimenti vedere here.

+0

Grazie mille :) – sanchitkhanna26

+0

L'ImagickException sembra non documentato (su php.net almeno). – Bell