Foros del Web » Programando para Internet » PHP »

Filtrar que los archivos a subir sean solo imagenes

Estas en el tema de Filtrar que los archivos a subir sean solo imagenes en el foro de PHP en Foros del Web. Para filtrar que solo se suban imagenes a mi servidor uso. Permito solo las extensiones mas usadas y mas comunes. Y uso la siguiente funcion ...
  #1 (permalink)  
Antiguo 09/10/2008, 22:18
Avatar de SpiderNet  
Fecha de Ingreso: agosto-2008
Ubicación: Venezuela
Mensajes: 29
Antigüedad: 15 años, 8 meses
Puntos: 0
Filtrar que los archivos a subir sean solo imagenes

Para filtrar que solo se suban imagenes a mi servidor uso. Permito solo las extensiones mas usadas y mas comunes. Y uso la siguiente funcion

Código:
function tipo_archivo_permitido($archivo)
{
    If($archivo=="image/bmp" || 
	   $archivo=="image/jpe" || 
	   $archivo=="image/jpeg" || 
	   $archivo=="image/jpg" || 
	   $archivo=="image/pjpeg" ||
	   $archivo=="image/gif" || 
	   $archivo=="image/png" ) 
	{
	    return true;
	}  
	else
	{
	    return false;
	}
}
Y con una estructura de control IF establezco mis condiciones

Código:
if(tipo_archivo_permitido($_FILES['formArchivo']['type'])) 
{
...
Pero, si yo renombro un archivo .doc por ejemplo a .gif igualmente lo acepta.

De que otra forma puedo validarlo y no permitir que suban archivos diferentes a imagenes asi sean renombradas???
  #2 (permalink)  
Antiguo 09/10/2008, 22:23
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Filtrar que los archivos a subir sean solo imagenes

Pero aun si renombran el archivo como imagen no vale de nada.
Porque no podran visualizarla si la llamas mediante una etiqueta <img>
  #3 (permalink)  
Antiguo 11/10/2008, 06:30
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Filtrar que los archivos a subir sean solo imagenes

Podés usar getimagesize() para obtener el formato de imagen que es.

Saludos.
  #4 (permalink)  
Antiguo 11/10/2008, 07:00
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Filtrar que los archivos a subir sean solo imagenes

Código PHP:
 $info getimagesize($_FILES['fichero']['tmp_name']); 
   
//segun el caso sera jpg, gif, png
   
switch ($info[2]) {
  case 
1:
    
$imagen imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break;
  case 
2:
    
$imagen imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break;
  case 
3:
    
$imagen imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break;
  
// etcétera // 
  

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 01:23.