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

Hola a todos! Tengo un problema con este código y creo que el tema debe de estar en el javascript, por eso creí conveniente postearlo acá.
Resulta que estoy tratando de realizar múltiples upluads pero solo me sube el primer archivo seleccionado. Todo este código va en la misma página. Les muestro el código:

Este es el formulario: upload.php
Código HTML:
<form action="" method="post" enctype="multipart/form-data">
  <p>Seleccionar archivo:
<input type="file" name="attach" id="attach" onchange="setBlock();" />
<div id="moreUploads"></div>
<div id="moreLink" style="display:none;">
<a href="javascript:addFileInput();">Agregar otro Archivo</a>
</div>
    <input type="submit" name="enviar" value="Upload" />
    <input type="hidden" name="action" value="upload" />
</form> 
Este es el código javascript:
Código:
<script language="javascript">
var upload_number = 2;
function addFileInput() {
 	var d = document.createElement("div");
 	var file = document.createElement("input");
 	file.setAttribute("type", "file");
 	file.setAttribute("name", "attach"+upload_number);
 	d.appendChild(file);
 	document.getElementById("moreUploads").appendChild(d);
 	upload_number++;
}
function setBlock() {
   document.getElementById('moreLink').style.display = 'block';
}
</script>
Y este el código que procesa los datos para subirlos al servidor:
Código PHP:
<?
      $rpta 
"";
      if (
$_POST["action"] == "upload") {
          
$tmpfile $_FILES['attach']['tmp_name'];
          
$tmpname $_FILES['attach']['name'];
          
$ftpuser "xxxxxx";
          
$ftppass "xxxxxx";
          
$ftppath "ftp.miservirod.com/public_html/web/fotos/";
          
$ftpurl "ftp://".$ftpuser.":".$ftppass."@".$ftppath;

          if (
$tmpname != "") {
              
$fp fopen($tmpfile'r');
              
$ch curl_init();
              
curl_setopt($chCURLOPT_URL$ftpurl.$tmpname);
              
curl_setopt($chCURLOPT_UPLOAD1);
              
curl_setopt($chCURLOPT_INFILE$fp);
              
curl_setopt($chCURLOPT_INFILESIZEfilesize($tmpfile));
              
curl_exec($ch);
              
$error curl_errno($ch);
              
curl_close ($ch);
              if (
$error == 0) {
                  
$rpta 'Archivo subido correctamente.';
              } else {
                  
$rpta 'Error al subir el archivo.';
              }
          } else {
              
$rpta 'Seleccionar un archivo.';
          }
      }

?>
Como les decia anteriormente, solo me sube el primer archivo seleccionado. ¿Dónde puede estar el error?
Muchas gracias a todos.
Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.