Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/07/2012, 22:12
WinderJerter
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Problemas con utilizar input select como array

Cita:
Iniciado por cvelazquez Ver Mensaje
Ok, en el primer foreach esta el error porque si subes multiples archivos el array que se guarda en $_FILES cambia. Mira, el array $_FILES subiendo un sólo archivo se forma así:

Código PHP:
$_FILES['file'] = array(
    
'tmp_name' 'letrasaleatorias',
    
'filename' => 'archivo.jpg',
    
'size' => 99999,
    
'error' => 0
); 
Como verás, es un array sencillo con sólo 4 índices (sino mal recuerdo haha). Pero cuando subes varios archivos el array se torna multidimensional:

Código PHP:
$_FILES['file'] = array(
    
=> array(
        
'tmp_name' 'letrasaleatorias',
        
'filename' => 'archivo.jpg',
        
'size' => 99999,
        
'error' => 0
    
),
    
=> array(
        
'tmp_name' 'letrasaleatorias2',
        
'filename' => 'archivo2.jpg',
        
'size' => 88888,
        
'error' => 0
    
),
); 
Bueno, ahora que ya sabes esto ya puedes realizar el foreach de forma correcta:

Código PHP:
foreach($_FILES['file'] as $indice => $archivo) {
           
        if(
$archivo['error'] == 4) {
            
//No se subio archivo alguno
            
continue;
            
        }elseif(
$archivo['error'] == 0){
            
//Se subio el archivo al servidor
            //El tmp_name esta en $archivo['tmp_name']
            //Ahora sólo resta saber que si es público ó privado
            
if($_POST['select-folder'][$indice] == 'private'){
                
//El archivo lo pones en la carpeta de privada y ejecutas el código que mencionabas
                
$query_insert_folder "INSERT INTO PRIVATE VALUES ('$id')";
                
$result_query_insert_folder mysql_query($query_insert_folder);
                
            }else{
                
//El archivo lo pones en la carpeta pública
            
}
        }
    } 
Salu2
Muchas gracias cvelazquez, ahora si ya funciona correctamente el script.

Saludos y nuevamente muchas gracias