wrathican Posted May 18, 2008 Share Posted May 18, 2008 hey peeps. i have a function that creates thumbnail from a file stored on a server then deletes it. the problem i have is that if a user uploads a PNG image my script does not generate the thumbnail, but deletes the temp file. works with gif/jpeg but not PNG's any ideas why this isnt working? heres the script: <?php //$result being where the image is currently stored //$imgDir being where the image is to be saved to function createThumb($result, $picWidth, $imgDir) { $poo = array(); if ($result == false) { //file could not be uploaded $poo[0] = false; $poo[1] = 1; return $poo; }else{ //file was uploaded. create thumbnail //pathinfo $file = pathinfo($result); //find the .ext $ext = $file['extension']; //strip .ext to lower $ext = strtolower($ext); //get image sizes $sizes = getimagesize($result); //ratio $ratio = $sizes[0]/$sizes[1]; //create new height $newHeight = round($picWidth/$ratio); //create true colour image $srcImg = imagecreatetruecolor($picWidth, $newHeight); if($ext == 'jpg' || $ext == 'jpeg') { $tmpImg = imagecreatefromjpeg($result); }elseif($ext == 'png') { $tmpImg = imagecreatefrompng($result); }elseif($ext == 'gif') { $tmpImg = imagecreatefromgif($result); }else{ $poo[0] = false; $poo[1] = 2; return $poo; } //create destination image filename //get filename $name = $file['basename']; //dest filename $dstFile = $imgDir . $name; imagecopyresampled($srcImg, $tmpImg, 0, 0, 0, 0, $picWidth, $newHeight, $sizes[0], $sizes[1]); //save image if($ext == 'jpg' || $ext == 'jpeg') { imagejpeg($srcImg, $dstFile, 100); }elseif($ext == 'png') { imagepng($scrImg, $dstFile, 100); }elseif($ext == 'gif') { imagegif($srcImg, $dstFile, 100); }else{ $poo[0] = false; $poo[1] = 3; return $poo;; } $killSrc = imagedestroy($srcImg); $killTmp = imagedestroy($tmpImg); if($killSrc != false && $killTmp != false){ $killOld = unlink($result); if($killOld != false){ return $name; }else{ $poo[0] = false; $poo[1] = 4; return $poo; } }else{ $poo[0] = false; $poo[1] = 5; return $poo; } } } ?> Quote Link to comment https://forums.phpfreaks.com/topic/106230-imagecreatefrompng/ Share on other sites More sharing options...
MadTechie Posted May 19, 2008 Share Posted May 19, 2008 is the png a valid png file? any errors? return $poo; } if(!$tmpImg) echo "FAILED ro read in image";//add this line //create destination image filename Quote Link to comment https://forums.phpfreaks.com/topic/106230-imagecreatefrompng/#findComment-544530 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.