Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Filtrado de upload en php y mysql

Estas en el tema de Filtrado de upload en php y mysql en el foro de Mysql en Foros del Web. Buenas, estoy haciendo un filtrado por tipo de archivo al hacer upload en php y mysql, lo unico que me falta es filtrar por tipo ...
  #1 (permalink)  
Antiguo 29/07/2010, 14:08
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Filtrado de upload en php y mysql

Buenas, estoy haciendo un filtrado por tipo de archivo al hacer upload en php y mysql, lo unico que me falta es filtrar por tipo de archivo, que el administrador del sitio inserta en la base de datos al crear una nueva actividad. La situacion es la siguiente:


Código PHP:
$idact $_REQUEST['id'];
        
        
$info mysql_query("SELECT nombre, tam, tipo FROM actividades WHERE id = $idact;"); 
        
        
$i mysql_fetch_array($info);
        
        
$act $i[0];
        
$tam $i[1];
        
$tip $i[2];
        
        
$status "";
        

        if (
$_POST["action"] == "upload"
        {
      
        
// obtenemos los datos del archivo 

            
$tamano $_FILES["archivo"]['size'];

            
$tipo $_FILES["archivo"]['type'];

            
$archivo $_FILES["archivo"]['name'];

            
$prefijo $_SESSION['user']."_";            
            
$prefijo .= limpiar($act);
            
            
$extension explode("."$archivo);
            
$t $extension[1];

            if(
$t == ($tip))
            {
                echo 
"Buen tipo :)";
            }        
            else
            {
                    echo 
"<br>Mal tipo :(<br>";            
            } 
Se supone que la variable $tip recoge los tipos de archivos que se pueden subir, al crear una actividad se inserta toda la comparacion: $tip equivale a
Código PHP:
Ver original
  1. png || jpg || jpeg || gif || bmp
y no me sale, en cambio poniendolo por separado esos datos directamente en el if si que funciona... Alguna idea?
  #2 (permalink)  
Antiguo 29/07/2010, 14:24
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Filtrado de upload en php y mysql

Prueba con esto, strpos() para asegurarnos que la extension se encuentra en $tip y el strlen() para segurarnos que la extension sean 3 caracteres, asi un .pn o .gi no los tomaria.

if (strpos($tip,$t)>0 and strlen($t)==3) {
  #3 (permalink)  
Antiguo 30/07/2010, 03:23
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Filtrado de upload en php y mysql

Gracias por responder Vun, pero el problema no es que no se sepa si la extension se introduce, eso no lo voy a contemplar (es un proyecto integrado y tampoco hay que ser tan meticuloso ;) ), el problema es que no me hace el filtrado por la extension. Lo he probado eso que me pusiste y tampoco me funciona, no me entra por el bucle de comparacion... Algunas extensiones tienen mas de 3 caracteres, por eso no creo que pueda usarlo, pero gracias por responder :P


Edit: No hay algo parecido a un IN (mysql) en PHP?

Última edición por LeadGuitar; 30/07/2010 a las 03:45
  #4 (permalink)  
Antiguo 31/07/2010, 09:36
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Filtrado de upload en php y mysql

Alguna idea de como hacerlo?? saludos

Etiquetas: php, upload, filtros
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:54.