miércoles, octubre 28, 2009

Covertir imagenes GIF, JPEG o PNG en JPG

Pues me vi en la necesidad de poder convertir una imagen del indole que sea a JPG, debido a que necesitaba ahorrar espacion en el servidor, en este caso, cree una función que la realiza, he aquí en el código

y como siempre el magestuoso IE me da problemas, jajaja por lo cual tuve que hacer un echo de prueba, por lo cual les doy los siguientes datos

Tipo de Archivo IE Firefox
GIF image/gif image/gif
PNG image/x-png image/png
JPG image/pjpeg image/jpeg

con lo cual se crea esta función, donde necesitamos la ruta donde se encuntra la imagen y el formato de la misma, más adelante explicare como usarlo

function ConvierteJpeg($ruta,$type)
{
if (!($type=="image/jpeg" or $type=="image/png" or $type=="image/gif" or $type=="image/x-png" or $type=="image/pjpeg"))
{
unlink($ruta);
return("er");
}
else
{
if ($type=="image/gif"){
$nuevo = str_replace("gif","jpg",$ruta);
$im=imagecreatefromgif($ruta);
$im=imagejpeg($im,$nuevo);
unlink($ruta);
return($nuevo);
}

if ($type=="image/jpeg" or $type=="image/pjpeg"){
$nuevo=$ruta;
$im=imagecreatefromjpeg($nuevo);
$im=imagejpeg($im,$nuevo);
return($nuevo);
}


if ($type=="image/png" or $type=="image/x-png"){
$nuevo = str_replace("png","jpg",$ruta);
$im=imagecreatefrompng($ruta);
$im=imagejpeg($im,$nuevo);
unlink($ruta);
return($nuevo);
}
}

}


Modo de USO.
En este caso lo usaremos desde un formulario, y con un campo tipo FILE, por lo cual aremos


if($_FILES['field_13']['name']!=''){
$field_13_filename = "file_13_".date("sihdmY").substr($_FILES['field_13']['name'],strlen($_FILES['field_13']['name'])-4);
//con la siguiente linea se sube al servidor
if(move_uploaded_file($_FILES['field_13']['tmp_name'], "../../recibos/".$field_13_filename)){
//Se obtiene el formato o tipo de archivo
$type=$_FILES['field_13']["type"];
//se define la ruta donde se guardara la imagen, y que es donde se subio
$ruta="../../recibos/".$field_13_filename;
//usamos la funcion
$nuevo=ConvierteJpeg($ruta,$type);
}




Mucha suerte, espero les ayude,
Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

1 comentario:

  1. es muy bueno tu script... gracias por que me ha sacado de un apuro... estoy realizando un sistema en donde se sube imagenes y cambiar el tamaño... ahora se podra cambiar de extension...GRACIAS

    ResponderBorrar

Deja tu comentario, te lo agradecere By Dzip