
30/07/2012, 22:12
|
| | Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 6 meses Puntos: 5 | |
Respuesta: Problemas con utilizar input select como array Cita:
Iniciado por cvelazquez 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(
0 => array(
'tmp_name' = 'letrasaleatorias',
'filename' => 'archivo.jpg',
'size' => 99999,
'error' => 0
),
1 => 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 |