Voy a tratar de poder expresarme lo mas claro con mi duda haber si me pueden ayudar.
Aquí esta la primera parte del código cargar.php el cual yo hago una consulta a la BBDD y me traigo la información y solicito subir un archivo PDF para completar la operación. Aqui es donde este mi problema, ya que al momento de cargar el archivo yo lo quiero renombrar con el Numero de Movimiento que tengo en Mi base de datos indepenedientemente como se llame el archivo. Esto ya lo habia conseguido con otro archivo PHP, pero como copie este ejemplo y lo adapte a mi sistema quede Pillo al Pasar una variable del TIPO POST a otro archivo PHP con Java.
Código PHP:
Ver original
<?php include"sesion_valida.php"; include"onexion.php"; include"../querys.php"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Plataforma</title> <meta http-equiv="content-type" content="text/html; charset = utf-8"/> <!--<link rel="stylesheet" media="screen" href="JavaScript_Tutorial_9.css"/>--> <link href="../../estilos/default.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="contenedor-principal"> <h1 class="titulo-mostrar">Plataforma</h1> <h3 class="titulo">Modulo de carga de Documentos</h3> <h5 class="caja-izquierda"><a href="../menu_hrd.php">Volver</a><span class="forma"></span></h5> <hr /> <br /> <h5 class="titulo">Seleccione el Archivo a subir según el Número de movimiento</h5> <div class="busqueda"> <form action="" method="post" enctype="application/x-www-form-urlencoded" name="form2" target="_self" id="form2"> Buscar Mov <label for="busqueda"></label> <input type="text" name="busqueda" id="busqueda" size="10" /> <input type="submit" name="submit" id="submit" value="Buscar" /> </form> </div> <div id="centra-tabla"> <div id="title" class="commonWidth"></div> <div id="form_container" class="commonWidth"> <form id="upload_form" action="#" method="post" enctype="multipart/form-data"> <table> <thead> <tr> <th class="relleno">N° Mov.</th> <th class="relleno">Ticket</th> <th class="relleno">Fecha Mov.</th> <th class="relleno">Tipo Mov.</th> <th class="relleno">Estado Asset</th> <th class="relleno">Descripcion</th> <th class="relleno">Archivo</th> </tr> </thead> <tbody> <tr> <td><input type="text" name="abm" id="abm" value="<?php echo $show_info['0']; ?>" readonly="readonly" size="10" /></td> <td><input type="text" name="ticket" value="<?php echo $show_info['1']; ?>" readonly="readonly" size="12" /></td> <td><input type="text" name="fecha_crea" value="<?php echo $show_info['fecha_abm']; ?>" readonly="readonly" size="16" /></td> <td><input type="text" name="tipo_mov" value="<?php echo $show_info['tipo_movimiento']; ?>" readonly="readonly" size="18" /></td> <td><input type="text" name="estado" value="<?php echo $show_info['estado']; ?>" readonly="readonly" size="20" /></td> <td><input type="text" name="descripcion" id="descripcion" autocomplete="off" size="20" /></td> <td> <input type="file" id="upload_file" size="35"/> </td> <td> <input type="button" id="upload_btn" value="Cargar Archivo"/> <div id="progress_bar_container" class="commonWidth displayNone"> <div id="progress_bar"></div> </div> <div class="commonWidth"> <span id="status"></span> </div> <script type="text/javascript" src="JavaScript_Tutorial_9.js"></script> </td> </tr> </tbody> </table> </form> <?php } ?> </div> </div> <?php } ?> </div> </body> </html>
Aqui va la función en java (la cual copie )
Código Javascript:
Ver original
// Trigger function when upload button is pressed div("upload_btn").onclick = upload_process; // Start the upload process function upload_process() { upload_file("upload_file"); return false; } // Upload the selected file function upload_file(file) { // Initialize the XMLHttpRequest var xhrq = check_ajax_version(); var form = new FormData(); // Internet Explorer does not support it. var file = div(file).files[0]; //agregamos el post para PHP var abm = $('#abm').val(); form.append("upload_file", file); xhrq.upload.addEventListener("progress", upload_progress, false); xhrq.addEventListener("load", upload_response,false); xhrq.open("POST", "JavaScript_Tutorial_9.php", {postabm:abm}); xhrq.send(form); return false; } // Event listener for the progress of the file function upload_progress(event) { var upload_percentage = 0; if(event.lengthComputable) { upload_percentage = Math.round((event.loaded / event.total) * 100); div("progress_bar_container").style.display = "block"; div("progress_bar").style.width = (upload_percentage * 1).toString() + "px"; div("status").innerHTML = upload_percentage.toString() + "% cargado"; } return false; } // Response from server whether success or failure function upload_response(event) { var response = null; if(event.target.responseText) { response = event.target.responseText; if(response == 1) { div("status").innerHTML = "Cargado satisfactoriamente..."; div("upload_file").value = "";// Reset the form div("progress_bar_container").style.display = "none"; } else { div("status").innerHTML = response; } } return false; } // Function to check the AJAX version of the browser function check_ajax_version() { var version = false; var ie_versions = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "Microsoft.XMLHTTP"]; for(var i = 0; i < ie_versions.length; i++) { try { version = new ActiveXObject(ie_versions[i]); break; } catch(e) { continue; } } if(version == false) { version = new XMLHttpRequest(); } else { version = version; } return version; } // Mimic jQuery function div(id_of_element) { id_of_element = document.getElementById(id_of_element); return id_of_element; }
Y este el el archivo PHP, el cual se encarga de copiar el archivo al servidor, es aqui donde quiero pasar una variable llamada ABM desde la otra pagina que tiene un formulario con el método POST .
Si se fijan yo comente el la función que da un nombre aleatoreamente renombrando su función.
Código PHP:
Ver original
<?php $file = $_FILES["upload_file"]; if($file && $file["error"] == 0) {:-D $tempnames = $file["tmp_name"]; $extension = $extension[1]; $filenames = generate_random(16); if($movedfile) { echo 1; } else { echo 0; } } else { echo 0; } function generate_random($number_of_characters) { $nombre = $_POST['abm']; $randomchar = $nombre; /* $characters = array(); $randomchar = ""; $x = 0; for($i = 48; $i < 123; $i++) { if(ctype_alnum(chr($i))) { $characters[$x] = chr($i); $x++; } } for($i = 0; $i < $number_of_characters; $i++) { $randomchar .= $characters[rand(0, count($characters) - 1)]; } return $randomchar;*/ } ?>