Foros del Web » Programando para Internet » PHP »

Al subir una imagen, transformala a JPG

Estas en el tema de Al subir una imagen, transformala a JPG en el foro de PHP en Foros del Web. Buenas, tengo un código que sube imágenes al servidor. El problema que me encuentro es que las imágenes han de ser jpg, sino no va. ...
  #1 (permalink)  
Antiguo 23/07/2012, 04:34
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
Al subir una imagen, transformala a JPG

Buenas, tengo un código que sube imágenes al servidor. El problema que me encuentro es que las imágenes han de ser jpg, sino no va.

Ocurre que a veces hay gente que quiero subir .png o .gif.

Hay (entiendo q sí) alguna forma de que pueda subir un png o gif y q lo transforme en jpg?

o sino, q lo suba directamente en png/gif y quede almacenado como tal. El tema es que a la foto la tengo q redimensionar, no sé si esto afecta en algo.

Gracias.
  #2 (permalink)  
Antiguo 23/07/2012, 05:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Al subir una imagen, transformala a JPG

Para subir una imagen o en general un fichero no tendrias que tener problema, en los script para subir imagenes se suele poner un filtro para que no te suban cosas que no lo sean, es posible que el tuyo solo admita jpg analiza el codigo y modificalo para que admita png o gif....si nos muestras el script te podremos ayudar.

Pero si el mismo script ademas de subir el fichero, redimensiona la imagen es posible que solo lo sepa hacer para jpg con lo que si tendrás un problemas....

Por si te sirve
PHP-GD: Resize Transparent Image PNG & GIF
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 23/07/2012, 10:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Al subir una imagen, transformala a JPG

Trasnformar a jpg es sencillo, usa imagecreatefrom() y el tipo de la imagen, luego al guardar usa solamente imagejpeg para guardarla como jpg.

Saludos.
  #4 (permalink)  
Antiguo 29/07/2012, 07:11
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
Respuesta: Al subir una imagen, transformala a JPG

Así es GatorV, me funcionó!
  #5 (permalink)  
Antiguo 30/07/2012, 21:24
 
Fecha de Ingreso: julio-2009
Mensajes: 74
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Al subir una imagen, transformala a JPG

Humanista, esta interesante lo que planteaste aqui y con la ayuda de Gatorv lo mejoraste

Podrias compartirnos el codigo para hacer pruebas? gracias de antemano.
  #6 (permalink)  
Antiguo 31/07/2012, 15:03
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
Respuesta: Al subir una imagen, transformala a JPG

Por supuesto, encantado:

Código PHP:

// Definimos Directorio donde se guarda el archivo
$carpeta="../images/";

//nombre de la foto
$nombre_archivo $_FILES['fileUpload']['name'];
$tipo_archivo $_FILES['fileUpload']['type'];
$tamano_archivo $_FILES['fileUpload']['size'];
list(
$width$height) = getimagesize($_FILES['fileUpload']['tmp_name']);

        if (isset(
$_FILES['fileUpload']['tmp_name']))
        {
            if (
copy($_FILES['fileUpload']['tmp_name'], $carpeta.$nombre_archivo))
            {

                
// thumbmail 50x50
                
$widthnew=50;  // ancho nueva foto
                
$heightnew=50//alto nueva foto


                
switch ($tipo_archivo)
                {
                    case 
"image/jpeg":
                        
$img imagecreatefromjpeg($carpeta $nombre_archivo); // ruta + nombre del archivo origen
                        
break;
                    case 
"image/png":
                        
$img imagecreatefrompng($carpeta $nombre_archivo); // ruta + nombre del archivo origen
                        
break;
                    case 
"image/gif":
                        
$img imagecreatefromgif($carpeta $nombre_archivo); // ruta + nombre del archivo origen
                        
break;
                }                
                
                
$thumb imagecreatetruecolor($widthnew,$heightnew);

                
imagecopyresampled($thumb$img0000$widthnew$heightnew$width$height);  // más calidad y más lento

                
imagejpeg($thumb,"../images/nombreimagen",100); // ruta + nombre donde se alojará el fichero

            
}
        } 
  #7 (permalink)  
Antiguo 31/07/2012, 22:05
 
Fecha de Ingreso: julio-2009
Mensajes: 74
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Al subir una imagen, transformala a JPG

Gracias amigo por el code, hare unas pruebillas desde hace tiempo queria hacer algo similar, saludos.
  #8 (permalink)  
Antiguo 01/08/2012, 01:47
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
Respuesta: Al subir una imagen, transformala a JPG

De nada hombre, a mandar ;)

Etiquetas: jpg
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:42.