30/07/2012, 22:12
|
| | 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 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 |