Kendi projeniz üzerinde PHPThumb kütüphanesi kullanmanız halinde JPG dosyaları için bazen aşağıdaki hata mesajı ile karşılaşabilirsiniz ;

Fatal error: Uncaught exception ‘Exception’ with message
‘Your GD installation does not support JPG image types’
in ‘(…)\phpthumb\ThumbBase.inc.php:165 Stack trace:
#0 (…)\phpthumb\GdThumb.inc.php(1081): ThumbBase->triggerError(‘Your GD install…’)
#1 (…)\phpthumb\GdThumb.inc.php(101): GdThumb->verifyFormatCompatiblity()
#2 (…)\phpthumb\ThumbLib.inc.php(127): GdThumb->__construct(‘D:/xampp/htdocs…’, Array)
#3 (…)\phpthumb\ThumbBase.inc.php on line 165

Çözümü zor gibi tahmin etseniz de aslında basit bir işlem gerçekleştirip problemi çözübilmemiz mümkündür. Eğer sunucunuz üzerinde GD Kütüphanesinin doğru bir şekilde kurulmuş ve aktif olduğundan emin iseniz “GdThumb.lib.php” dosyası içerisinde yer alan ;

case ‘JPG’:
case ‘PNG’:
$isCompatible = $gdInfo[$this->format . ‘ Support’];
break;

Satırlarını bulup aşağıdaki şekilde değiştirin ;

case ‘JPG’:
$isCompatible = (isset($gdInfo[‘JPG Support’])) ? $gdInfo[‘JPG Support’] : $gdInfo[‘JPEG Support’];
break;
case ‘PNG’:
$isCompatible = $gdInfo[‘PNG Support’];
break;

Yani değişikliğin ardından ilgili bölüm aşağıdaki şekilde görülecektir.

protected function verifyFormatCompatiblity ()
{
$isCompatible   = true;
$gdInfo     = gd_info();

switch ($this->format)
{

case ‘GIF’:
$isCompatible = $gdInfo[‘GIF Create Support’];
break;
case ‘JPG’:
$isCompatible = (isset($gdInfo[‘JPG Support’])) ? $gdInfo[‘JPG Support’] : $gdInfo[‘JPEG Support’];
break;
case ‘PNG’:
$isCompatible = $gdInfo[‘PNG Support’];
break;
default:
$isCompatible = false;
}

if (!$isCompatible)
{
$this->triggerError(‘Your GD installation does not support ‘ . $this->format . ‘ image types’);
}
}

Artık JPG dosyalarını da problem yaşamadan yükleyebilmeniz mümkün olabilecektir 😉