$new_w || $old_y > $new_h) { if ($old_x < $old_y) { $thumb_w = round(($old_x * $new_h) / $old_y); $thumb_h = $new_h; } elseif ($old_x > $old_y) { $thumb_w = $new_w; $thumb_h = round(($old_y * $new_w) / $old_x); } else { $thumb_w = $new_w; $thumb_h = $new_h; } } else { $thumb_w = $old_x; $thumb_h = $old_y; } /*apartir daqui, temos a criação propriamente dita, das imagens pequenas. *Repare nas funções imagecreate() e imagecreatetruecolor(). Esta ultima requer *versão GD 2.0.1 ou maiores. se não for possível usar gd1, então será usada gd2 para *diminuir a imagem original. *a função imagecopyresized() redimensiona e copia a imagem. *imagecreatetruecolor() tem um efeito similar a imagecreate(). *Para mais informações a respeito de imagecreatetruecolor(), imagecreate() e imagecopyresampled(), *acesse www.php.net. */ if ($compress == "gd1") { $thumbimage = imagecreate($thumb_w,$thumb_h); $result = imagecopyresized($thumbimage, $origimage, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y); } else { $thumbimage = imagecreatetruecolor($thumb_w,$thumb_h); $result = imagecopyresampled($thumbimage, $origimage, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y); } /*Muda o tempo de acesso e modificação do arquivo de imagem fornecido como terceiro parâmetro da função *createthumbnail() para o tempo atual. */ touch($thumbfile); /*a função imagegif() cria uma imagem gif em $thumbfile apartir de $thumbimage *que guarda a imagem que foi criada com novas dimensões. *imagejpeg() e imagepng() tem efeitos similares a função imagegif(). */ if ($filetype == 1) { imagegif($thumbimage, $thumbfile); } elseif ($filetype == 2) { imagejpeg($thumbimage, $thumbfile); } elseif ($filetype == 3) { imagepng($thumbimage, $thumbfile); } } /*Esta função checa se uma imagem existe em um determinado diretório. *se a imagem procurada existir, então será criado um nome diferente para ela */ function image_exists($dir, $image) { $i = 1; $image_name = substr($image, 0, strrpos($image, ".")); $image_ext = strrchr($image,"."); while (file_exists($dir.$image)) { $image = $image_name."_".$i.$image_ext; $i++; } return $image; } ?>