[PHP] Convertir imagen a gif

Escenario: Se quiere que cuando un usuario suba una imagen al sitio web, ésta se reduzca en peso (el tamaño debe permanecer igual) y preferentemente* no perder (mucha) calidad*.

Code:

//cambiar la calidad de imagen (compresion) //Se obtiene la ubicacion de la imagen deseada $path = getcwd().'/../images/'.$filename; //Obtenemos de qué tipo es $tipo = exifimagetype($path); //se carga el tipo correspondiente de imagen switch($tipo){ case 1: $im = imagecreatefromgif($path); break; case 2: $im = imagecreatefromjpeg($path); break; case 3: $im = imagecreatefrompng($path); break; case 6: $im = imagecreatefromwbmp($path); break; } //reducimos la gama de colores imagetruecolortopalette($im, false, 128); //Se guarda la imagen imagegif($im,$path.'.gif'); //Borramos la imagen anterior if(fileexists($path)); unlink($path); //En este caso, devolvemos el nombre //de la nueva imagen echo $filename.'.gif';