Foros del Web » Programando para Internet » Javascript »

Ayuda para acoplar este codigo

Estas en el tema de Ayuda para acoplar este codigo en el foro de Javascript en Foros del Web. Buenas tardes, estoy intentando hacer un multi upload, he estado mirando por muchos sitios y no llego a aclararme. he conseguido este codigo: Código PHP: ...
  #1 (permalink)  
Antiguo 01/02/2010, 10:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Ayuda para acoplar este codigo

Buenas tardes, estoy intentando hacer un multi upload, he estado mirando por muchos sitios y no llego a aclararme.

he conseguido este codigo:

Código PHP:
<script type="text/javascript">
var 
numero 0//Esta es una variable de control para mantener nombres
            //diferentes de cada campo creado dinamicamente.
evento = function (evt) { //esta funcion nos devuelve el tipo de evento disparado
   
return (!evt) ? event evt;
}

//Aqui se hace lamagia... jejeje, esta funcion crea dinamicamente los nuevos campos file
addCampo = function () { 
//Creamos un nuevo div para que contenga el nuevo campo
   
nDiv document.createElement('div');
//con esto se establece la clase de la div
   
nDiv.className 'archivo';
//este es el id de la div, aqui la utilidad de la variable numero
//nos permite darle un id unico
   
nDiv.id 'file' + (++numero);
//creamos el input para el formulario:
   
nCampo document.createElement('input');
//le damos un nombre, es importante que lo nombren como vector, pues todos los campos
//compartiran el nombre en un arreglo, asi es mas facil procesar posteriormente con php
   
nCampo.name 'archivos[]';
//Establecemos el tipo de campo
   
nCampo.type 'file';
//Ahora creamos un link para poder eliminar un campo que ya no deseemos
   
document.createElement('a');
//El link debe tener el mismo nombre de la div padre, para efectos de localizarla y eliminarla
   
a.name nDiv.id;
//Este link no debe ir a ningun lado
   
a.href '#';
//Establecemos que dispare esta funcion en click
   
a.onclick elimCamp;
//Con esto ponemos el texto del link
   
a.innerHTML 'Eliminar';
//Bien es el momento de integrar lo que hemos creado al documento,
//primero usamos la función appendChild para adicionar el campo file nuevo
   
nDiv.appendChild(nCampo);
//Adicionamos el Link
   
nDiv.appendChild(a);
//Ahora si recuerdan, en el html hay una div cuyo id es 'adjuntos', bien
//con esta función obtenemos una referencia a ella para usar de nuevo appendChild
//y adicionar la div que hemos creado, la cual contiene el campo file con su link de eliminación:
   
container document.getElementById('adjuntos');
   
container.appendChild(nDiv);
}
//con esta función eliminamos el campo cuyo link de eliminación sea presionado
elimCamp = function (evt){
   
evt evento(evt);
   
nCampo rObj(evt);
   
div document.getElementById(nCampo.name);
   
div.parentNode.removeChild(div);
}
//con esta función recuperamos una instancia del objeto que disparo el evento
rObj = function (evt) { 
   return 
evt.srcElement ?  evt.srcElement evt.target;
}
</script>

</head>

<body>
 <form name="formu" id="formu" action="upload.php" method="post" enctype="multipart/form-data">
     <dl>            
   <dt><label>Archivos a Subir:</label></dt>
        <!-- Esta div contendrá todos los campos file que creemos -->
   <dd><div id="adjuntos">
        <!-- Hay que prestar atención a esto, el nombre de este campo debe siempre terminar en []
        como un vector, y ademas debe coincidir con el nombre que se da a los campos nuevos 
        en el script -->
   <input type="file" name="archivos[]" /><br />
   </div></dd>
   <dt><a href="#" onClick="addCampo()">Subir otro archivo</a></dt>      
   <dd><input type="submit" value="Enviar" id="envia" name="envia" /></dd>
     </dl>
</form> 
Que llama a esta pagina y me imprime bien los resultados con este otro que esta en UPLOAD.PHP
Código PHP:
<?php 
   
//Preguntamos si nuetro arreglo 'archivos' fue definido
         
if (isset ($_FILES["archivos"])) {
         
//de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
         //obtenemos la cantidad de elementos que tiene el arreglo archivos
         
$tot count($_FILES["archivos"]["name"]);
         
//este for recorre el arreglo
         
for ($i 0$i $tot$i++){
         
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
         //para trabajar con este
            
$tmp_name $_FILES["archivos"]["tmp_name"][$i];
            
$name $_FILES["archivos"]["name"][$i];
            echo(
"<b>Archivo </b> $key ");
            echo(
"<br />");
            echo(
"<b>el nombre original:</b> ");
            echo(
$name);
            echo(
"<br />");
            echo(
"<b>el nombre temporal:</b> \n");
            echo(
$tmp_name);
            echo(
"<br />");            
            }
      }      
?>
Ahora lo que quiero hacer es que me suba el nomnre de las imagenes a la BB.DD y el archivo a una carpeta. Ahora lo tengo hecho para que me suba un solo archivo, pero me gustaria emplear este que parece que esta bien.
El codigo que etngo ahora es este...

Código PHP:
srand (time());
//generamos un número aleatorio
$mismo=str_replace(" ","_",$mismo);
$mismo rand(1,100000000000); 

$nombre_img str_replace(" ","",$_FILES['imagen'] ['name']);
if ((
$nombre_img)!="") {

if ((isset(
$_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  
$updateSQL sprintf("UPDATE empleados SET empleado=%s, entrada=%s, nivel=%s, emsalon=%s, eliminar=%s, imageempleado=%s WHERE id_empleados=%s",
                       
GetSQLValueString($_POST['nombre'], "text"),
                       
GetSQLValueString($_POST['usuario'], "text"),
                       
                       
GetSQLValueString($_POST['nivel'], "int"),
                       
GetSQLValueString($_POST['salon'], "text"),
                       
GetSQLValueString($_POST['elimina'], "text"),
                       
GetSQLValueString("http://www.10meuonline.com/archivos/".$mismo.$nombre_img"text"),
                       
GetSQLValueString($_POST['id'], "int"));
  
  
$copy copy($_FILES['imagen']['tmp_name'], "../../archivos/" .$mismo .$nombre_img); 
Os coloco esto por si os sirve de ayuda, para ayudarme a montar todo el codigo.
Un saludo y gracias

Etiquetas: acoplar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:50.