Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/07/2021, 22:27
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: Como hacer que no se repitan los mensajes

Te sugiero recorrer directamente el array de archivos y en cada iteración acceder a sus propiedades:

Código PHP:
Ver original
  1. foreach ($_FILES as $index => $file){
  2.     //...
  3. }

En la iteración puedes obtener datos como el nombre del archivo, ruta temporal y el estado de la subida, y almacenarlos en variables para que sea más legible. Además, puedes utilizar un contador para llevar la cuenta (valga la redundancia) de los archivos subidos exitosamente, el cual debes definir antes de iniciar el bucle:

Código PHP:
Ver original
  1. $count = 0;
  2.  
  3. foreach ($_FILES as $index => $file){
  4.     $name = $file['name'];
  5.     $temp = $file['tmp_name'];
  6.     $error = $file['error'];
  7. }

Enseguida, verifica si el archivo ha sido subido con éxito. En caso de ser así, verifica si el valor del contador es menor a 2; si es menor, incrementa el valor del contador en uno y almacena el archivo. Cuando la cuenta ya no sea menor a 2, es decir, igual o mayor, termina el bucle e imprime un mensaje que advierta al usuario sobre la terminación del proceso. Este último paso solo ocurrirá cuando el usuario intente subir más de 2 archivos; cuando la cuenta sea menor o igual a 2, no se llegará a esta parte del código y directamente se terminará el bucle y se imprimirá el mensaje.

Código PHP:
Ver original
  1. $count = 0;
  2.  
  3. foreach ($_FILES as $file){
  4.     $name = $file['name'];
  5.     $temp = $file['tmp_name'];
  6.     $error = $file['error'];
  7.  
  8.     if ($error == UPLOAD_ERR_OK){
  9.         if ($count < 2){
  10.             $count++;
  11.             move_uploaded_file($temp, 'images/' . $name);
  12.         }
  13.         else{            
  14.             break;
  15.         }
  16.     }
  17. }
  18.  
  19. echo 'Los dos archivos han sido subidos satisfactoriamente';

Te sugiero verificar las extensiones de los archivos antes de subirlos para que así evites que el usuario suba archivos potencialmente peligrosos.

__________________
«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