Foros del Web » Programando para Internet » PHP »

cambiar el formato de una imagen al subirla

Estas en el tema de cambiar el formato de una imagen al subirla en el foro de PHP en Foros del Web. Hola que tal, les cuento que ando modificando un script para subir imagenes con php pero he notado que IE sube las imagenes png -> ...
  #1 (permalink)  
Antiguo 10/04/2010, 15:19
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 3 meses
Puntos: 5
cambiar el formato de una imagen al subirla

Hola que tal, les cuento que ando modificando un script para subir imagenes con php pero he notado que IE sube las imagenes png -> x-png y las jpeg -> pjpeg, y lo que necesito es que cuando suban imagenes png y jpeg con IE envez de que las suba en x-png o pjpeg las deje en el formato original; alguien me puede ayudar a solucionar esot???

Aqui el script que comprueba el formato de las imagenes:

Código PHP:
Ver original
  1. if($tipo == "png" || $tipo == "x-png" || $tipo == "gif" || $tipo == "jpeg" || $tipo == "pjpeg" || $tipo == "bmp")
  2.         {
  3.             move_uploaded_file($_FILES['file']['tmp_name'], $destino.'/'.$cad.'.'.$tipo);
  4.             include("post.php");
  5.         }

Saludos y muchas gracias de antemano
  #2 (permalink)  
Antiguo 10/04/2010, 15:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: cambiar el formato de una imagen al subirla

Para verificar el tipo de archivo usa la librería fileinfo y para obtener la extensión como tu deseas usa la función pathinfo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 10/04/2010, 15:47
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: cambiar el formato de una imagen al subirla

Cita:
Iniciado por abimaelrc Ver Mensaje
Para verificar el tipo de archivo usa la librería fileinfo y para obtener la extensión como tu deseas usa la función pathinfo.
Hola que tal abimaelrc muchas gracias por responder, nunca habia utilizado esa funcion y a lo que le entendi es algo asi pero no me funciona, en IE no me sube la imagen, he modificado el script asi; no me podrias guiar poquito

Código PHP:
Ver original
  1. $destino = "img";
  2.         $sep = explode('image/', $_FILES['file']['type']);
  3.         $tipo = pathinfo($sep[1]);
  4.         if($tipo == "png" || $tipo == "gif" || $tipo == "jpeg" || $tipo == "bmp")
  5.         {
  6.             move_uploaded_file($_FILES['file']['tmp_name'], $destino.'/'.$cad.'.'.$tipo['extension']);
  7.             include("post.php");
  8.         }

Saludos y muchas gracias de antemano
  #4 (permalink)  
Antiguo 10/04/2010, 16:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: cambiar el formato de una imagen al subirla

En el manual hay unos ejemplos, usalos para poder guiarte. Te sugiero que te olvides de usar $_FILES['file']['type']. Solo usa la dirección y mira los resultados de pathinfo. Y como te indique usa fileinfo para saber si es verdaderamente una imagen o no.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 10/04/2010, 16:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: cambiar el formato de una imagen al subirla

Cita:
Iniciado por abimaelrc Ver Mensaje
En el manual hay unos ejemplos, usalos para poder guiarte. Te sugiero que te olvides de usar $_FILES['file']['type']. Solo usa la dirección y mira los resultados de pathinfo. Y como te indique usa fileinfo para saber si es verdaderamente una imagen o no.
okey, pero una pregunta; el tipo de la imagen x-png no se puede cambiar a la hora de subirla a png en IE???
  #6 (permalink)  
Antiguo 10/04/2010, 16:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: cambiar el formato de una imagen al subirla

¿Qué información te trajo el pathinfo? Ahí verás la información de la extensión y vas a ver que hace lo que tu quieres.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 10/04/2010, 16:47
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: cambiar el formato de una imagen al subirla

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Qué información te trajo el pathinfo? Ahí verás la información de la extensión y vas a ver que hace lo que tu quieres.
subi una imagen png y el pathinfo me dio x-png
  #8 (permalink)  
Antiguo 10/04/2010, 17:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: cambiar el formato de una imagen al subirla

Te repito no uses type usa name para obtener la extensión.
Código PHP:
Ver original
  1. var_dump(pathinfo($_FILES['archivo']['name']));
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 10/04/2010, 17:16
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: cambiar el formato de una imagen al subirla

Cita:
Iniciado por abimaelrc Ver Mensaje
Te repito no uses type usa name para obtener la extensión.
Código PHP:
Ver original
  1. var_dump(pathinfo($_FILES['archivo']['name']));
me imprime

array(2) { ["basename"]=> string(0) "" ["filename"]=> string(0) "" }
  #10 (permalink)  
Antiguo 10/04/2010, 17:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: cambiar el formato de una imagen al subirla

Bueno si copiaste y pegaste íntegramente sin analizar el código te va a salir ese error. En tu caso debes indicarle el nombre del campo que pasaste la información.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 10/04/2010, 18:25
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: cambiar el formato de una imagen al subirla

Cita:
Iniciado por abimaelrc Ver Mensaje
Bueno si copiaste y pegaste íntegramente sin analizar el código te va a salir ese error. En tu caso debes indicarle el nombre del campo que pasaste la información.
Perdon no me dije hay

Esto me imprime cuando subo una imagen en IE

array(4) { ["dirname"]=> string(1) "." ["basename"]=> string(12) "52360060.jpg" ["extension"]=> string(3) "jpg" ["filename"]=> string(8) "52360060" }
  #12 (permalink)  
Antiguo 10/04/2010, 18:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: cambiar el formato de una imagen al subirla

Ya debes entonces saber que en la llave que dice extension, es la que debes usar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 10/04/2010, 18:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: cambiar el formato de una imagen al subirla

okey okey ya me queda mas claro abimaelrc, muchas gracias por tu ayuda y perdon por los problemas que te pude causar

Saludos y gracias de antemano

Etiquetas: formato
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 21:55.