Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/11/2015, 06:43
shock_dude
 
Fecha de Ingreso: febrero-2008
Ubicación: Bahia Blanca
Mensajes: 173
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: Actualizar una imágen de un array de múltiples imagenes.

Quisiera dejar una solución que hice por si alguien tuviese el mismo problema.

Creé los input file del formulario, numerando sus arrays de ésta forma:

En lugar de usar name="archivo[]" , cambié por:

Código HTML:
<input type="file" name="archivo[0]">
<input type="file" name="archivo[1]">
<input type="file" name="archivo[2]">
<input type="file" name="archivo[3]">

<! -- los datos ocultos son los nombres de las fotos actuales (si hay -->

<input type="hidden" name="foto1" value="<?php echo $foto1;?>" />
<input type="hidden" name="foto2" value="<?php echo $foto2;?>" />
<input type="hidden" name="foto3" value="<?php echo $foto3;?>" />
<input type="hidden" name="foto4" value="<?php echo $foto4;?>" /> 
y luego desde PHP

Código PHP:

if (empty($_FILES['archivo']['name'][0])) {
        
/* si la foto1 no está cargada, dejo la que estaba antes (recibo el nombre de la que estaba antes, tomandola desde un campo oculto con $_REQUEST */
        
$foto1 $_REQUEST['foto1'];
        }

    
    if (empty(
$_FILES['archivo']['name'][1])) {
        
// si la foto2 no está cargada
        
$foto2 $_REQUEST['foto2'];
        }
        

    if (empty(
$_FILES['archivo']['name'][2])) {
        
// si la foto3 no está cargada
        
$foto3 $_REQUEST['foto3'];
        }

            
    if (empty(
$_FILES['archivo']['name'][3])) {
        
// si la foto4 no está cargada
        
$foto4 $_REQUEST['foto4'];
        }    
    


/*
Subo la foto a la posicion correspondiente, según el input file numerado que halla llenado el usuario
*/
        
if (move_uploaded_file($_FILES['archivo']['tmp_name'][0],"../users/p/".$_FILES['archivo']['name'][0])){
           
$foto1 $_FILES['archivo']['name'][0];
        }
        
        

        
        if (
move_uploaded_file($_FILES['archivo']['tmp_name'][1],"../users/p/".$_FILES['archivo']['name'][1])){
            
$foto2 $_FILES['archivo']['name'][1];
        }
        
        

        
        if (
move_uploaded_file($_FILES['archivo']['tmp_name'][2],"../users/p/".$_FILES['archivo']['name'][2])){
           
$foto3 $_FILES['archivo']['name'][2];
        }
        
        
        
        if (
move_uploaded_file($_FILES['archivo']['tmp_name'][3],"../users/p/".$_FILES['archivo']['name'][3])){
           
$foto4 $_FILES['archivo']['name'][3];
        } 
Y por ultimo hago el UPDATE de SQL correspondiente a los campos `foto1`, `foto2`, `foto3` y `foto4`.

Última edición por shock_dude; 30/11/2015 a las 06:47 Razón: corección