Underc0de

Programación Web => Back-end => Mensaje iniciado por: narupiece en Junio 30, 2010, 12:36:07 PM

Título: Convertidor formato de imagen by naru
Publicado por: narupiece en Junio 30, 2010, 12:36:07 PM
hola xD

como no tenia nada que hacer he hecho un convertidor de formato de imagenes xD

puede convertir de:
- png a gif y jpg
- gif a jpg y png
- jpg a png y gif

y si gustan le pueden agregar mas opciones para convertir xD

Código (php) [Seleccionar]

<?php

//code by narupiece!
//no sean hdp y pongan su nombre en vez del mio ¬¬


//si accionamos el form
if ($_POST["action"] == "upload") {



$status ""//igualamos status a nada
$archivo $_FILES["archivo"]['name']; //obtenemos el nombre de la imagen
$extension explode(".",$archivo); //partimos el nombre de la imagen en 2, el nombre y la extension
$name=$extension[0]; //obtenemos el puro nombre
$ext=$extension[1]; //obtenemos la extension
$prefijo substr(md5(uniqid(rand())),0,6); //creamos un prefijo de 6 caracteres
$destino =  "img/".$prefijo."_".$archivo//damos valor a la variable destino, juntamos el prefijo con el nombre del archivo,  hay que crear una carpeta que se llame img

if($ext=="png" || $ext=="gif" || $ext=="jpg" || $ext=="jpeg"){ //filtramos el archivo, si es cualquiera de las extensiones hace el proceso, si no muestra error

 
if(copy($_FILES['archivo']['tmp_name'],$destino)){ //sube la imagen original a la direccion de destino
 
   
if($ext=="png"){ //si la imagen es png...

         
if ($_POST['imagen']=="jpg"){ //si elegimos convertirla a jpg
      
          
          
$destino2 "jpg/".$prefijo."_".$name.".jpg"//le damos el valor donde se guardara la imagen nueva, hay que crear una carpeta que se llame jpg
          
$patch=$destino;  //igualamos patch a destino
        
          
$imagen imagecreatefrompng($patch);  //crea una imagen png a partir de la original subida 
          
$patch_grabar=$destino2
          
imagejpeg($imagen,$patch_grabar,100); //crea una imagen jpg a partir de la imagen png creada y la guarda en el valor de patch a grabar
          
$status="<img src='$patch_grabar'><script>alert('Imagen $archivo convertida a $name.jpg satisfactoriamente')</script>"//le damos valor a status
         
}

        
//es casi lo mismo para todo, solo cambia la extension de imagen...   

        
if ($_POST['imagen']=="gif"){ 
    
          
          
$destino2 "gif/".$prefijo."_".$name.".gif";
          
$patch=$destino
 
          
$imagen imagecreatefrompng($patch); 
          
$patch_grabar=$destino2
          
imagegif($imagen,$patch_grabar,100);
          
$status="<img src='$patch_grabar'> <script>alert('Imagen $archivo convertida a $name.gif satisfactoriamente')</script>";
         }

        
        if (
$_POST['imagen']=="png"){
    
          
$status="no se puede convertir de png a png ¬¬"//si la imagen subida, y el tipo de imagen a convertir es igual, mostramos error
         
}

        
   }

   if(
$ext=="gif"){

         if (
$_POST['imagen']=="jpg"){
      
          
          
$destino2 "jpg/".$prefijo."_".$name.".jpg";
          
$patch=$destino
        
          
$imagen imagecreatefromgif($patch); 
          
$patch_grabar=$destino2
          
imagejpeg($imagen,$patch_grabar,100);
          
$status="<img src='$patch_grabar'><script>alert('Imagen $archivo convertida a $name.jpg satisfactoriamente')</script>";
         }

        
   

        if (
$_POST['imagen']=="png"){
    
          
          
$destino2 "png/".$prefijo."_".$name.".png";
          
$patch=$destino
 
          
$imagen imagecreatefromgif($patch); 
          
$patch_grabar=$destino2
          
imagepng($imagen,$patch_grabar,100);
          
$status="<img src='$patch_grabar'> <script>alert('Imagen $archivo convertida a $name.png satisfactoriamente')</script>";
         }

        
        if (
$_POST['imagen']=="gif"){ 
    
          
$status="no se puede convertir de gif a gif ¬¬";
         }

        
   }
  
   if(
$ext=="jpeg" || $ext=="jpg"){

         if (
$_POST['imagen']=="gif"){
      
          
          
$destino2 "gif/".$prefijo."_".$name.".gif";
          
$patch=$destino
        
          
$imagen imagecreatefromjpeg($patch); 
          
$patch_grabar=$destino2
          
imagejpeg($imagen,$patch_grabar,100);
          
$status="<img src='$patch_grabar'><script>alert('Imagen $archivo convertida a $name.gif satisfactoriamente')</script>";
         }

        
   

        if (
$_POST['imagen']=="png"){
    
          
          
$destino2 "png/".$prefijo."_".$name.".png";
          
$patch=$destino
 
          
$imagen imagecreatefromjpeg($patch); 
          
$patch_grabar=$destino2
          
imagepng($imagen,$patch_grabar,100);
          
$status="<img src='$patch_grabar'> <script>alert('Imagen $archivo convertida a $name.png satisfactoriamente')</script>";
         }

        
        if (
$_POST['imagen']=="jpg"){
    
          
$status="no se puede convertir de jpg a jpg ¬¬";
         }

        
   }











  }

   

else{

$status="Solo se permiten subir Archivos JPG, PNG, GIF<script>alert('Solo se permiten subir Archivos JPG, PNG, GIF')</script>";

        
}   


 

}


?>


<html>
<head>
<title>Cambiardor formato imagen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>



<center>
<form action="" method="post" enctype="multipart/form-data">

<h1>Escoge la imagen a Subir</h1> <input name="archivo" type="file" size="35" /><br>
<h2>Escoge el formato a convertir:<br><input type="radio" name="imagen" value="jpg" CHECKED>jpg
     <input type="radio" name="imagen" value="gif">gif
     <input type="radio" name="imagen" value="png">png<br>
<input name="enviar" type="submit" value="Upload Image" />
     <input name="action" type="hidden" value="upload" />

</form>

<br><br>
<?php
echo $status//mostramos el status.. 
?>


</body>

</html>





bueno, espero que les pueda ser util y haber si aprenden un poquito del code xD, tiene muchos comentarios espero le entiendan :/

Saludos! h)
Título: Re:convertidor formato de imagen by naru
Publicado por: Cronos en Junio 30, 2010, 12:37:46 PM
Exelentes aportes narupiece, espero que sigas asi.
Saludos,,
Título: Re:convertidor formato de imagen by naru
Publicado por: linkgl en Julio 03, 2010, 01:39:34 PM
No filtras bien las extenciones.... sí yo subo un archivo que se llame hola.jpg.php adiós a tu sistema... usa mejor

$extencion=substr($archivo,-4);

o

$ext=$extencion[count($extencion) - 1];
Título: Re:convertidor formato de imagen by naru
Publicado por: narupiece en Julio 24, 2010, 04:34:16 PM
jeje si, hace varios dias me fije en eso, y lo peor del caso, que utilice la misma manera de filtrar los archivos en mi uploader xD

que bueno que nadie lo defaceo xD, ya he cambiado el modo de filtrar las extensiones :D

Saludos!!