Convertidor formato de imagen by naru

Iniciado por narupiece, Junio 30, 2010, 12:36:07 PM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Junio 30, 2010, 12:36:07 PM Ultima modificación: Marzo 22, 2014, 02:20:50 PM por Expermicid
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

<?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)

Exelentes aportes narupiece, espero que sigas asi.
Saludos,,

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];

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!!