B
blankito1998
Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
asi sera para agregar multiple a un input file?Para asegurarte de quephoto2yphoto3se suban correctamente, necesitarás ajustar el código para manejar las condiciones que permiten múltiples archivos cuando la categoría no es "livs", y asegurarte de que los archivos sean efectivamente subidos y procesados.
A continuación, te muestro un código revisado que maneja correctamente la subida de hasta tres archivos, asignándolos aphoto1,photo2yphoto3:
### Código PHP Modificado
PHP:// Inicializa el array para almacenar las rutas de los archivos subidos $uploaded_files = []; // Verifica si hay archivos subidos if (!empty($_FILES['fotoshop'])) { foreach ($_FILES['fotoshop']['tmp_name'] as $key => $tmp_name) { $fileType = $_FILES['fotoshop']['type'][$key]; $target_path = ''; // Manejo de videos if ($fileType === "video/mp4") { if (is_uploaded_file($tmp_name)) { sleep(1); $target_path = 'upload/' . mt_rand(1, 100) . bin2hex(random_bytes(mt_rand(5, 15))) . '.mp4'; if (move_uploaded_file($tmp_name, $target_path)) { $uploaded_files[] = $target_path; // Agregar video a la lista } } } // Manejo de imágenes (jpeg, png, jpg) elseif ($fileType === "image/jpeg" || $fileType === "image/png" || $fileType === "image/jpg") { $target_path = "imguser/" . mt_rand(1, 99999) . mt_rand(1, 1000) . $username . date("zihdYN") . ".webp"; if (move_uploaded_file($tmp_name, $target_path)) { $uploaded_files[] = $target_path; // Agregar imagen a la lista } } } // Asignamos las rutas en el orden que fueron subidas $photo1 = null; $photo2 = null; $photo3 = null; if (count($uploaded_files) > 0) { $photo1 = $uploaded_files[0]; // Primer archivo subido va a photo1 } if (count($uploaded_files) > 1) { $photo2 = $uploaded_files[1]; // Segundo archivo subido va a photo2 } if (count($uploaded_files) > 2) { $photo3 = $uploaded_files[2]; // Tercer archivo subido va a photo3 } // Procesar el resto de tu código para insertar en la base de datos $querim = mysqli_query($conexion, "SELECT * FROM friends WHERE litefriends LIKE '%," . $id . ",%' AND username != '" . $username . "' ORDER BY id DESC"); $quid = ''; if (mysqli_num_rows($querim) === 0) { $quid .= '0,'; } $ino = 1; while ($filo = mysqli_fetch_assoc($querim)) { $pinta = $ino++; $quala = mysqli_query($conexion, "SELECT * FROM profileuser WHERE username = '" . $filo['username'] . "' ORDER BY id DESC"); $qilo = mysqli_fetch_assoc($quala); $quid .= '0,' . $qilo['id'] . ','; } $friendfly = str_replace(",0,", ",", $quid); mysqli_query($conexion, "INSERT INTO posters (idviews, idseguis, category, hora, photo, photo2, photo3, nombre, apellido, username, email, descripts, fecha) VALUES ('0,', '" . $friendfly . "', '" . $_POST['category'] . "', '" . date("d-m-Y H:i:s") . "', '" . $photo1 . "', '" . $photo2 . "', '" . $photo3 . "', '" . $nombre . "', '" . $apellido . "', '" . $username . "', '" . $email . "', '" . $_POST['mensaje'] . "', '" . date('d M Y') . "')"); // Notificaciones y etiquetado (ya tienes tu lógica aquí) } // Cierra conexión si es necesario
### Explicación de Cambios:
1. Array Unificado: Se utiliza un solo array[ $uploaded_files ]para almacenar todos los archivos subidos, ya sean imágenes o videos.
2. Asignación de Archivos: Se verifican las posiciones del array[ $uploaded_files ]para asignar archivos a[ $photo1, $photo2, $photo3 ]según el número de archivos subidos. Esto asegura que se asignen correctamente.
3. Inserción en la Base de Datos: Las variables[ $photo1, $photo2, $photo3 ]se insertan en la base de datos. Si no hay suficientes archivos, las variables restantes permanecerán nulas.
### Consideraciones Finales:
- Verifica la Lógica: Asegúrate de que estés enviando múltiples archivos desde el frontend al formulario y que el input tenga el atributomultiple.
- Permisos de Directorio: Verifica los permisos del directorio donde estás intentando subir los archivos para asegurarte de que el servidor puede escribir en él.
- Errores: Maneja posibles errores verificando el resultado demove_uploaded_file()y añade mensajes de depuración según sea necesario.
Este ajuste debería permitirte subir correctamente hasta tres archivos (en caso de que no sea "livs") y reflejarlo en las columnas designadas. Si sigues teniendo problemas, revisa la configuración del servidor o cualquier posible restricción en los tipos de archivos permitidos. Si necesitas más ayuda, ¡házmelo saber!
document.getElementById("fileclip").setAttribute("multiple");