Ver Mensaje Individual
  #9 (permalink)  
Antiguo 20/07/2021, 21:45
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Guardar dos imagenes desde un array

Ya di con el error: el bucle que te propuse no es el adecuado para la estructura del array de archivos que se genera.

Lo correcto es que hagas algo similar a lo que inicialmente hiciste, añadiendo la verificación en cada iteración de la correcta subida del archivo:

Código PHP:
Ver original
  1. $names = [];
  2. $count = 0;
  3. $i = 0;
  4.  
  5. for ($i = 0, $files = $_FILES['file'], $l = count($files['name']); $i < $l; $i++){
  6.     if ($files['error'][$i] == UPLOAD_ERR_OK){
  7.         $name = $files['name'][$i];
  8.         $temp = $files['tmp_name'][$i];
  9.         $type = $files['type'][$i];
  10.         $size = $files['size'][$i];
  11.     }
  12.     else continue; //Si el archivo no se sube correctamente, se pasa a la siguiente iteración
  13.  
  14.     $names[$count] = $name;
  15.     $count++; //Se incrementa en uno cuando el archivo fue subido con éxito
  16.  
  17.     //Otras instrucciones...
  18.  
  19.     move_uploaded_file($temp, 'images/' . $name);
  20.  
  21.     if ($count == 2) break; //Se termina el bucle cuando se hayan subido dos archivos
  22. }
  23.  
  24. $query = "UPDATE alumnos SET img_a = '{$names[0]}', img_b = '{$names[1]}' WHERE ClEmail = '$email'";
  25. $res = mysqli_query($cone, $query);

La diferencia fundamental con lo que inicialmente hiciste radica en que intentaste acceder al array de los nombres de la manera inadecuada, además de que lo intentabas hacer dentro del bucle, cuando tiene que ser afuera de este. Le añadí una línea en la que se pasa a la siguiente iteración en el bucle en caso de no subirse correctamente el archivo.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 21/07/2021 a las 20:44 Razón: Línea extra