Tengo experiencia haciendo esto con cargas de archivos individuales usando <input type="file">
. Sin embargo, tengo problemas para cargar más de uno a la vez.
Por ejemplo, me gustaría poder seleccionar una serie de imágenes y luego subirlas al servidor, todo a la vez.
Sería genial usar un solo control de entrada de archivo, si es posible.
¿Alguien sabe cómo lograr esto? ¡Gracias!
Respuestas:
Esto es posible en HTML5 . Ejemplo (PHP 5.4):
Así es como se ve en Chrome después de seleccionar 2 elementos en el cuadro de diálogo de archivo:
Y así es como se ve después de hacer clic en el botón "Cargar".
Esto es solo un boceto de una respuesta totalmente funcional. Consulte el Manual PHP: Manejo de cargas de archivos para obtener más información sobre el manejo adecuado y seguro de las cargas de archivos en PHP.
fuente
multiple="multiple"
?name="file[]"
). Intenté editar la respuesta , pero fue rechazada.Hay algunas cosas que debes hacer para crear una carga de archivos múltiples, en realidad es bastante básico. No necesita usar Java, Ajax, Flash. Simplemente cree un formulario de carga de archivos normal comenzando con:
Entonces la clave del éxito;
<input type="file" name="file[]" multiple />
¡NO olvides esos corchetes! En post_upload.php intente lo siguiente:
Observe que obtiene una matriz con datos de tmp_name, lo que significa que puede acceder a cada archivo con un tercer par de paréntesis con el ejemplo de 'número' del archivo:
Puede usar php count () para contar la cantidad de archivos que se seleccionó. ¡Buena suerte!
fuente
foreach
comunicado, sin tener que conocer el número de archivos cargado ...Solución completa en Firefox 5:
fuente
<html> <head> </head> <body> <form name="uploader" id="uploader" action="multifile.php" method="POST" enctype="multipart/form-data" > <input id="infile" name="infile[]" type="file" onBlur="submit();" multiple="true" ></input> </form>
Si desea seleccionar varios archivos desde el cuadro de diálogo del selector de archivos que se muestra cuando selecciona examinar, no tendrá suerte. Necesitará usar un applet de Java o algo similar (creo que hay uno que usa un pequeño archivo flash, lo actualizaré si lo encuentro). Actualmente, una entrada de un solo archivo solo permite la selección de un solo archivo.
Si está hablando de usar múltiples entradas de archivo, entonces no debería haber mucha diferencia de usar una. Publica un código e intentaré ayudarte más.
Actualización: hay un método para usar un solo botón 'navegar' que usa flash. Nunca lo he usado personalmente, pero he leído bastante al respecto. Creo que es tu mejor oportunidad.
http://swfupload.org/
fuente
en el primero debes hacer una forma como esta:
eso es correcto . ahora agregue este código debajo de su código de formulario o en la página que desee
es fácil ... terminar
fuente
Si utiliza múltiples campos de entrada, puede establecer name = "file []" (o cualquier otro nombre). Eso los colocará en una matriz cuando los cargue (
$_FILES['file'] = array ({file_array},{file_array]..)
)fuente
Usando FOR Loop
Usando FOREACH Loop
fuente
he creado una función php que se usa para cargar múltiples imágenes, esta función puede cargar múltiples imágenes en una carpeta específica y también puede guardar los registros en la base de datos en el siguiente código $ arrayimage es el conjunto de imágenes que se envía a través de la nota del formulario que no permitirá que la carga use múltiples, pero debe crear un campo de entrada diferente con el mismo nombre, ya que podrá configurar el campo de agregar dinámico de la salida del archivo al hacer clic en el botón.
$ dir es el directorio en el que desea guardar la imagen $ fields es el nombre del campo que desea almacenar en la base de datos
el campo de la base de datos debe estar en el ejemplo de formato de matriz si tiene un almacén de imágenes de la base de datos y el nombre de los campos como id, nombre, dirección, entonces debe publicar datos como
y luego pasa ese campo a la función $ fields
$ table es el nombre de la tabla en la que desea almacenar los datos.
// la clase imageFunctions termina aquí
puede probar este código para insertar múltiples imágenes con su extensión, esta función se crea para verificar archivos de imagen, puede reemplazar la lista de extensiones para archivos perticulares en el código
fuente
respuesta parcial: pear HTTP_UPLOAD puede ser útil http://pear.php.net/manual/en/package.http.http-upload.examples.php
hay un ejemplo completo para múltiples archivos
fuente