Przeniosłem stronę na darmowy serwer i używam funkcji robiącej miniatury z wysłanych obrazków. Nie miałem z nią dotąd żadnych problemów.
Po wysłaniu plików na serwer okazało się że na serwerze moduł GD obsługuje tylko format GIF.
Czy jest jakiś sposób na przywrócenie obsługi JPG ?
Dostępu do narzędzi serwera nie mam. Tylko ftp :-)
Kod
gd
GD Support enabled
GD Version 2.0 or higher
GIF Read Support enabled
GIF Create Support enabled
WBMP Support enabled
GD Support enabled
GD Version 2.0 or higher
GIF Read Support enabled
GIF Create Support enabled
WBMP Support enabled
I drugi problem to że nawet z plików GIF miniatury nie zapisują się. Natomiast operacje łączenia obrazków działają.
Funkcja robiąca miniatury:
<?php function resizeImage($src,$dest,$maxWidth,$maxHeight,$quality=80) { // path info // image src size // image dest size $destSize[0] = width, $destSize[1] = height $srcRatio = $srcSize[0]/$srcSize[1]; // width/height ratio $destRatio = $maxWidth/$maxHeight; if ($destRatio > $srcRatio) { $destSize[1] = $maxHeight; $destSize[0] = $maxHeight*$srcRatio; } else { $destSize[0] = $maxWidth; $destSize[1] = $maxWidth/$srcRatio; } // path rectification if ($destInfo['extension'] == "jpg") { } if ($destInfo['extension'] == "png") { } // true color image, with anti-aliasing $destImage = imagecreatetruecolor($destSize[0],$destSize[1]); // src image switch ($srcSize[2]) { case 1: //GIF $srcImage = imageCreateFromGif($src); break; case 2: //JPEG $srcImage = imageCreateFromJpeg($src); break; case 3: //PNG $srcImage = imageCreateFromPng($src); break; default: return false; break; } imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]); switch ($srcSize[2]) { case 1: case 2: case 3: imagegif($destImage,$dest); break; // case 3: // imagePng($destImage,$dest); // break; } return true; } else { return false; } } ?>