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`.