Hola a todos! Tengo el siguiente script para subir fotos y grabar los nombres de las mismas en una BDD. El problema es que al cargar varias fotos, a veces sube todas al servidor y a veces no. Los nombres de los archivos los graba perfectamente en la BDD. 
 
Les muestro las 2 páginas que uso: 
form.html  
 Código HTML:
 <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>
<form action="uploadok.php" method="post" enctype="multipart/form-data">
   <label for="to"></label>
	<label>Archivos Adjuntos:</label> <a href="#" onClick="addField()">Agregar Archivo</a>
	  <div id="file"></div>
		  <input type="submit" value="upload" id="archivo" name="archivo" />
          <input type="hidden" name="action" value="upload" />
          </form>  Y el archivo que recibe la info para subir al server y grabar los datos en la BDD: 
uploadok.php 
 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 ($_POST["action"] == "upload") {
    $i=0;
    $tmpfile = $_FILES['archivo']['tmp_name'];
    $imagen = $_FILES['archivo']['name'];
    $usuario_db = "****";
    $pass_db = "****";
    $ftppath = "../prueba2/images/";
    $ftpurl = "ftp://".$usuario_db.":".$pass_db."@".$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("Ocurrio un problema al intentar subir el archivo.");
           $imagen=$_FILES["archivo"]["name"];
           
           echo "nombre de archivo:".$imagen[$i]."<br>";
           mysql_query("INSERT INTO imagenes(imagen) VALUES ('$imagen[$i]') ", $conexion) or die ("Problemas al subir los archivos.");
        $i++;
      }
    }
} 
    
  La verdad, no me tira error ni nada, y no entiendo por qué a veces sube todas las fotos y a veces no sube al server de a varias fotos a la vez.
¿Puede ser que el AJAX de la primer página esté causando esto? Sino, les agradecería me puedan orientar. 
Gracias a todos y saludos. Marx.