Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/05/2010, 14:44
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: upload multiple de fotos: no me suben algunas fotos al servidor

Bueno... a pesar de haber cambiado el código, sigo sin poder recoger el array de los archivos a subir al servidor. Cuando selecciono 2 o más archivos, el primero me lo sube pero el resto no.

Les muestro el nuevo código:

Formulario:
Código HTML:
<script language="javascript">
//var upload_number = 1;
function addFileInput() {
 	var d = document.createElement("div");
 	var file = document.createElement("input");
 	file.setAttribute("type", "file");
 	file.setAttribute("name", "attach[]");
 	d.appendChild(file);
 	document.getElementById("moreUploads").appendChild(d);
	file.onchange = setBlock;
	document.getElementById('moreLink').style.display = 'none';

// 	upload_number++;
}
function setBlock() {
   document.getElementById('moreLink').style.display = 'block';
}
</script>
</head>

<body>
<form action="images/uploadok.php" method="post" enctype="multipart/form-data">
<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" value="upload" id="attach" name="attach" />
<input type="hidden" name="action" value="upload" />
</form> 

Y este el upload:

Código PHP:
//conexion a la db
    
include('conectar.php');

    
// conexion a la base
    
$conexion mysql_connect($host_db$usuario_db$pass_db) or die ("no se ha podido conectar a la BD");
    
mysql_select_db($base_db$conexion) or die ("no se ha podido seleccionar la BD");

    if(isset(
$_FILES["attach"])) {
    
$tmpfile $_FILES["attach"]["tmp_name"];
    
$imagen $_FILES["attach"]["name"];
    
$usuario_db "***";
    
$pass_db "***";
    
$base_db "***";

    
$ftppath "../images/";
    
$ftpurl "ftp://".$usuario_db.":".$pass_db."@".$ftppath;

    
$total count($_FILES["attach"]["name"]);
    
    for (
$i 0$i $total$i++){

      
$tmpfile $_FILES["attach"]["tmp_name"][$i];
      
$tamano $_FILES['attach']['size'][$i];
      
$tamano_max="1048576";
      if(
$tamano <= $tamano_max){ 
          
move_uploaded_file($_FILES['attach']['tmp_name'][$i], $_FILES["attach"]["name"][$i]);
          
           
$imagen=$_FILES["attach"]["name"][$i];
           
           echo 
"nombre de archivo:".$imagen."<br>";
           
mysql_query("INSERT INTO imagenes(imagen) VALUES ('$imagen') "$conexion) or die ("Problemas al subir los archivos.");

      }else{
          echo 
"<div align = 'center'>La imagen que intenta grabar, excede el peso requerido. El maximo de peso es 500KB.</div>";
          echo 
"<br /><br /><br />";
          echo 
"<div align = 'center'><a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar.</div></a>";
      }
}


¿Me pueden decir por favor por qué solo me toma el primer archivo y los otros no?

Muchas gracias y saludos.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.