Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/07/2008, 08:00
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Problema con multiple upload de archivos

Seguro a muchos les va a servir. Todo va en la misma página.

upload.php
Código:
<script type="text/javascript">
var numero = 0;

// Funciones comunes
c= function (tag) { // Crea un elemento
   return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
   return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
   return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
   return evt.srcElement ?  evt.srcElement : evt.target;
}

addField = function () {
   container = d('file');
   
   span = c('SPAN');
   span.className = 'archivo';
   span.id = 'archivo' + (++numero);

   field = c('INPUT');   
   field.name = 'archivo[]';
   field.type = 'file';
   
   a = c('A');
   a.name = span.id;
   a.href = '#';
   a.onclick = removeField;
   a.innerHTML = 'Quitar';

   span.appendChild(field);
   span.appendChild(a);
   container.appendChild(span);
}
removeField = function (evt) {
   lnk = f(e(evt));
   span = d(lnk.name);
   span.parentNode.removeChild(span);
}
</script>
Código HTML:
<form action="" method="post" enctype="multipart/form-data">
	  	<dl>
		<dt><label for="to" ></label></dt>
		<dt><label>Archivos Adjuntos:</label>&nbsp;&nbsp;&nbsp;<a href="#" onclick="addField()" >A&ntilde;adir Archivo</a></dt>
		<dd><div id="file"></div></dd>
		<dd><input type="submit" value="upload" name="action" id="archivo" name="archivo"  /></dd>
        <input type="hidden" name="action" value="upload" />
      </p>
    </form> 
Código PHP:
<?

      
if ($_POST["action"] == "upload") {
          
$tmpfile $_FILES['archivo']['tmp_name'];
          
$tmpname $_FILES['archivo']['name'];
          
$ftpuser "usuario";
          
$ftppass "password";
          
$ftppath "ftp.miweb.com/public_html/fotos/";
          
$ftpurl "ftp://".$ftpuser.":".$ftppass."@".$ftppath;

//places files into same dir as form resides
foreach ($_FILES["archivo"]["error"] as $key => $error) {
   if (
$error == UPLOAD_ERR_OK) {
       echo
"$error_codes[$error]";
       
move_uploaded_file(
         
$_FILES["archivo"]["tmp_name"][$key],
         
$_FILES["archivo"]["name"][$key]) or die("Problems with upload");
   }
}
}
?>
Me lo merezco... definitivamente .

Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.