Foros del Web » Programando para Internet » PHP »

Problema dimensiones .jpg

Estas en el tema de Problema dimensiones .jpg en el foro de PHP en Foros del Web. Hola a tod@s, tengo una duda al subir imagenes .jpg al servidor, realice una aplicación con las librerias GD para que se puedan subir imagenes ...
  #1 (permalink)  
Antiguo 14/05/2011, 09:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Problema dimensiones .jpg

Hola a tod@s, tengo una duda al subir imagenes .jpg al servidor, realice una aplicación con las librerias GD para que se puedan subir imagenes de cualquier tamaño y dicha aplicación las redimensiona a los tamaños adecuados.
Bueno, el caso es que como suele ser habitual, coloque una línea como esta:

if (!(strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 1500000)) .....

que en su segunda parte le digo que no sea mayor de 1,5 Mb., el caso es que he subido imagenes de 1,7 Mb. e incluso de 2,0 Mb. y la aplicación las sube, saltandose la restricción que le he puesto.

¿A que puede ser debido?

Muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 14/05/2011, 09:43
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 5 meses
Puntos: 641
Respuesta: Problema dimensiones .jpg

Esta un poco rara tu condicional ¿buscas que el nombre termine en jpg para validar si es imagen?

y ademas dices si no es jpg y ademas pesa menos de 1.43051mb, (SI por que un megabyte son 1024 KB y un KB son 1024 bytes)

o sea que se tienen que cumplir las dos cosas y puede que el archivo pese más de 1.4 mb pero como es jpg si cumple la condicional. debería ser

Código PHP:
if (!(strpos($tipo_archivo"jpeg")) || ($tamano_archivo 1572864)) 
  #3 (permalink)  
Antiguo 14/05/2011, 10:05
 
Fecha de Ingreso: diciembre-2004
Mensajes: 272
Antigüedad: 20 años
Puntos: 4
Respuesta: Problema dimensiones .jpg

Hola,


creo q a memodian se le olvido quitar la negacion de esa expresion( si lo menciono pero en la cita no lo quito = O ), creo que la expresion quedaria asi:


Código PHP:
if (  strpos($tipo_archivo"jpeg") && $tamano_archivo 1572864 ) {
   ...

donde dice: si la imagen es jpeg y el tamano es menor a 1572864 entonces siguele!

creo que el problema es que tenias el operador OR ( || ) y el if era valido tanto si la imagen NO era jpeg (por la negacion que tenias) o si pesaba menos de 1572864.


Algo adicional que quiero anadir, es que tu validacion para el formato esta muy simple y fallaria si alguien sube un archivo tipo:

esto_no_es_un_jpeg.doc




Bueno, sin mas ni mas me despido.

Suerte!!!
  #4 (permalink)  
Antiguo 16/05/2011, 15:54
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema dimensiones .jpg

Gracias a los dos por vuestra respuesta, finalmente he optado por comprar el tipo MIME y la linea queda como sigue:

if (!($tipo_archivo=="image/pjpeg") || ($tamano_archivo > 10500000))

con un or, que anteriormente puse and y me habia equivocado como me indicabais. Parece que funciona.

Gracias de todas formas

Etiquetas: dimensiones, 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 07:18.