Foros del Web » Programando para Internet » PHP »

Fallo en validación tipo MIME

Estas en el tema de Fallo en validación tipo MIME en el foro de PHP en Foros del Web. Buenas, tengo problemas en un script para uploads, en la parte donde verifico el tipo de archivo, que me interesa que sea siempre imagen gif, ...
  #1 (permalink)  
Antiguo 16/02/2008, 03:45
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Fallo en validación tipo MIME

Buenas, tengo problemas en un script para uploads, en la parte donde verifico el tipo de archivo, que me interesa que sea siempre imagen gif, jpg o jpeg.

Si creo un archivo de texto y le pongo como extension .gif, el script ni se entera y me guarda ese archivo de texto en el server.

Lo he probado de estas dos formas y sube el archivo de texto en ambos casos.


$tipo_archivo = $HTTP_POST_FILES['userfile']['type'][$i];
.....
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "jpg")))) {

...daría el error...


También lo he probado de este modo:

$tipo_archivo = $HTTP_POST_FILES['userfile']['type'][$i];
$ok_ext = array("image/jpeg","image/pjpeg","image/gif");

if(!in_array($tipo_archivo,$ok_ext )){

...daría el error...


Entonces como es que no detecta que realmente es de tipo text/plain?

Que hago mal?

Saludos

Última edición por tralara; 16/02/2008 a las 03:51
  #2 (permalink)  
Antiguo 19/02/2008, 04:08
Avatar de sanbec  
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Fallo en validación tipo MIME

Llegué aquí buscando la misma respuesta. Parece que el type de $_FILES se deja engañar fácilmente

He encontrado esto http://www.phpinsider.com/smarty-forum/viewtopic.php?t=9911 que parece querer solucionarlo, pero examinando el código me temo que no lo consigue
  #3 (permalink)  
Antiguo 19/02/2008, 11:50
Avatar de sanbec  
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Fallo en validación tipo MIME

He encontrado una solución parcial, que sirve para el caso de tralara, pero no para el mio pues sólo vale para imágenes.

Está en
http://es.php.net/features.file-upload buscar getimagesize() y exif_imagetype()
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 06:34.