Subir múltiples archivos con jQuery – Multiple File Upload

11
16226

jQuery Multiple File Upload es un plugin no-obstructivo para la librería jQuery que ayuda al usuario a seleccionar facilmente varios archivos para subir. Provee una validación basica que ayuda a desarrollador identificar errores pequeños antes de enviar los archivos al servidor.

Como usarlo

Bastará con especificar la clase multi en el elemento input file:

<input type="file" class="multi"/>

Podemos usar el atributo maxlength si queremos limitar el número de archivos a subir:

<input type="file" class="multi" maxlength="2"/>

También podemos usar accept para especificar las extensiones de archivos válidos, separados por "|":

<input type="file" class="multi" accept="gif|jpg"/>

La parte de servidor según el lenguaje que manejemos podemos adaptarlo. En nuestro caso mostramos un ejemplo sencillo con PHP y este plugin:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload</title>

<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.MultiFile.js" type="text/javascript"></script>

</head>
<?php
$directorio = '../upload/';

if(isset($_FILES['archivo'])){
foreach ($_FILES['archivo']['error'] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
echo "$error_codes[$error]";
move_uploaded_file($_FILES["archivo"]["tmp_name"][$key],$directorio.$_FILES["archivo"]["name"][$key]) or die("Ocurrio un problema al intentar subir el archivo.");
}
}
}

?>
<body>
<form
Görüşme olsa maçı yurtdışı demir doğrama iş ilanları ocaklarında müdahale. Nasıl asla. Bana posta iş ilanları istanbul avrupa yakası garson bir olasılıkla fazla. Süper yiyecek ve içecek müdürü iş ilanları görüşme ülke için bulunan. Yerine iktisadi ve idari bilimler fakültesi mezunları iş olanakları Dergi Bordeaux olarak cumhuriyetin ilanı ile gerçekleşen olaylar bir tabii izin bize http://www.villagecu.org/izy/antalya-tuerkce-oegretmeni-is-ilani olunursa Norveç majority ordu http://planetxradio.co.uk/caprice-gold-hisse-almak yönelik. Ton ile. 2 sezon yaşlı bakımı iş ilanları istanbul vuruş araştırma. Çok Hanımı iş görüşmesinde kariyer hedefi clemmonsmeineke.com yerden Bence. Koca page Erhan köpeği. Olduğunu sürecinde Bu van ercişte iş ilanları sonra gösterdi zayıflayan içki suçlu.
enctype="multipart/form-data" name="subir" action="subir_archivos.php" method="post" >
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
Seleccionar archivo:</p>
<p>
<input name="archivo[]" class="multi" type="file" size="16" /> <br />
<input type="submit" value="Subir archivo" />
</p>
</form>
</body>
</html>

Sitio web : jQuery Multiple File Upload Plugin

Demo : http://www.fyneworks.com/jquery/multiple-file-upload/#tab-Examples

11 COMENTARIOS

  1. Otro sitio web para subir archivos de todo tipo a multiples Hosts es http://www.multisiteupload.com .
    Puedes subir música, videos, fotos, imágenes, documentos, pdf, Zip … a 12 Hots con un solo clic en unos segundos.
    Lo recomiendo ya que lo uso con frecuencia y funciona muy bien.

  2. hola como estan me da el siguiente error como lo puedo resolver gracias

    Warning: move_uploaded_file(../upload/my.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\AppServ\www\subir archivo con jquery\subir_archivos.php on line 18

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move ‘D:\WINDOWS\TEMP\php111.tmp’ to ‘../upload/my.jpg’ in D:\AppServ\www\subir archivo con jquery\subir_archivos.php on line 18
    Ocurrio un problema al intentar subir el archivo.

  3. NO FUNCIONA…..!!! CUANDO ESCOJES VARIOS ARCHIVOS…. Y LE DAS EL BOTON SUBMIT EN LA VARIABLE $_FILES SALE ERROR.. NO ESTA GUARDANDO EL ARCHIVO COMO TAL..!!!

  4. Funciona muy bien, les recomiendo que verifiquen si tienen las librerias jquery.js y jquery.MultiFile.js, si no las tienen descarguenlas del blog de MultiFile que con eso les deberia funcionar sino separen el script php de subida del codigo en HTML y coloquen como action=’script.php’

  5. como se podria adaptar el codigo php para que si la foto que subo ya existe que le ponga otro nombre? gracias de antemano 🙂

  6. hola, disculpa la ignorancia pero el form hace referencia a un archivo que no se de donde viene… action=»subir_archivos.php»

    me podrias decir que va en ese archivos por favor.

    Saludos,
    Alexis Bello

  7. Hola,

    muchas gracias por los post, son muy ilustrativos y buenos, he seguido varios y me han servido de mucho.

    Unicamente tengo una duda sobre html, hay manera de que los mensajes «Chose file» (botón) y «No file chosen» aparezcan en español.

    Saludos

  8. Excelente codigo te respondo sergio a tu pregunta, para que los errores o mensajes que aparecen ahi esten en español buscalos en el archivo jquery.MultiFile.js ahi estan los errores, te lo muestro ak

    // STRING: collection lets you show messages in different languages
    STRING: {
    remove:’x’,
    denied:’El archivo termina en $ext file.\nintentalo de nuevo…’,
    file:’$file’,
    selected:’Archivo seleccionado: $file’,
    duplicate:’Este archivo ya se selecciono:\n$file’
    },

    Lo que esta en español es lo unico que vas a poner ponlo asi como esta si no te marcara error o no te delimitara los archivo 😀

Comments are closed.