Jump to content

subir multiples archivos html5 y php


Recommended Posts

Hola, gracias por visitar el tema. Sucede que he descubierto que html5 en el tag input, tipo file, se puede agregar el atributo "múltiple". Pero cómo podría subir varios archivos al servidor utilizando esto con PHP? Estaré muy agradecido de quien me pueda ayudar. Muchas gracias amigos.

Link to post
Share on other sites

Hola,

 

Si acepta mútliple, supongo que el name del input podrá ser un array: name="nombre[ ]"

 

Luego al recoger los datos, con un bucle php guardarías los valores del array

$nombre = $_POST['nombre'];
for ($i=0;$i<count($nombre); $i++) {
    //código para guardar una imagen $nombre[$i]
}

 

saludos!

Link to post
Share on other sites

Quim, amigo, muchas gracias. Ya sabía eso, pero en este caso para los multiples uploads cambia un poco. Viendo un código antiguo que tenía, logré sacar lo básico.

Le dejo el código a quien le sirva.

 

html: (Ojo es html5, con html4 no funcionará)

<form action="foto.php" method="post" enctype="multipart/form-data">
Seleccione su albúm:<br/>
<input type="file" name="archivo[]" multiple="multiple" />
<input type="submit" />
</form>

 

php:

<?php
$archivo = $_FILES['archivo']['tmp_name'];
$cantidad = count($archivo);
//INVENTADO NOMBRE DE CARPETA
$hora = date("H")+8; 
$carpeta = date("d-m-Y $hora:i:s");
$nuevodirectorio = "img/$carpeta";
mkdir ($nuevodirectorio);
$directorio = "$nuevodirectorio/";

//INSERTA ITERATIVAMENTE
for ($n="0"; $n<$cantidad; $n++) {
$archivo_codigo = $archivo[$n]; 
$nombre_archivo = $n.".jpg";
$archivo_subir = $directorio . $nombre_archivo;
if (move_uploaded_file($archivo_codigo, $archivo_subir)) {
print("OK.<br/>");
} else {
print("Error de conexion con el servidor.<br/>"); }
}
?>

 

 

Nota: Sería bueno que quien lo utilice agregue algo de seguridad, por lo menos que filtre el tipo de archivo. Saludos

Edited by benitezluis
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.