Foros del Web » Programando para Internet » PHP »

Hacer upload de un archivo en php y javascript sin enviar formulario!!

Estas en el tema de Hacer upload de un archivo en php y javascript sin enviar formulario!! en el foro de PHP en Foros del Web. bueno, vamos a ver como empiezo.. necesito hacer una vista previa de un newsletter con imagen, para lo cual estoy utilizando codigo php y javascript.. ...
  #1 (permalink)  
Antiguo 11/03/2009, 12:19
 
Fecha de Ingreso: marzo-2009
Mensajes: 14
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Hacer upload de un archivo en php y javascript sin enviar formulario!!

bueno, vamos a ver como empiezo.. necesito hacer una vista previa de un newsletter con imagen, para lo cual estoy utilizando codigo php y javascript.. esta saliendo CASI todo de maravilla a no ser porque no consigo hacer el upload de la imagen a la cual quiero hacer una previa con el newsletter.. de hecho, consigo hacer la previa del newsletter e insertar la ruta absoluta de la imagen, pero no me sube la imagen.. bueno.. voy por parte.. este es el codigo del formulario que tengo..

<form form enctype="multipart/form-data" method="post" action="procesado.php">

Titulo:
<input type="text" id="cam_tit" name="cam_tit">
<br />
Fecha:
<input type="text" id="cam_fecha" name="cam_fecha">
<br />
Imagen:
<input type="file" id="upfile" name="upfile">


<script language="javascript" type="text/javascript">
function previsualizar(){

var cam_tit=document.getElementById('cam_tit').value
var cam_fecha=document.getElementById('cam_fecha').val ue
var upfile=document.getElementById('upfile').value
window.open('archivo.php?cam_tit=' + cam_tit + '&cam_fecha=' + cam_fecha + '&upfile=' + upfile, '','width=450,height=275')

}

</script>



<input type="button" name="vista" value="Vista previa" onclick="previsualizar()">

<input type="submit" name="env" value="Enviar">


</form>



como pueden ver, tiene un trozo de codigo javascript, el cual hacer sucerder el evento onClick() del boton "vista previa" toma los valores de los campos del formulario y los pasa a un pop up (archivo.php) el cual tiene el codigo que sigue..


<?php

$uploaddir = "subidas/";
$uploadfile = $uploaddir.$_FILES['upfile']['name'];
if (move_uploaded_file($_FILES['upfile']['tmp_name'],$uploadfile)) {
print("Archivo subido correctamente");
} else {
print("Fallo en la subida del archivo");
}

echo $_GET["cam_tit"];
echo $_GET["cam_fecha"];

$dividir_archivo=explode("\\",$_GET["upfile"]); //aca divido el string tomado del campo del "file" y lo guardo en un array

$nombre_archivo= end($dividir_archivo); //aca mando el puntero del array hasta la ultima posicion para tomar el nombre del archivo

echo "<img src=subidas/".$nombre_archivo.">";
echo $nombre_archivo;

?>


de hecho que si utilizo el codigo para upload en un formulario por separado y lo envio con el boton submit todo va de maravilla, pero a la hora de hacerlo con el pop-up sin enviar el formulario es donde viene la bronca y no me lo sube.. alguien podria ayudarme? en sintesis necesito hacer un upload del archivo sin enviar el formulario.. me urge una respuesta!! graciasssssss ahh!! una ultima cosa.. felicidades a toda la comunidad de foros del web.. es una de las mejores que he visto en la red.. adelante!!
  #2 (permalink)  
Antiguo 11/03/2009, 12:29
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: Hacer upload de un archivo en php y javascript sin enviar formulario!!

creo que al hacerlo por popup igual debes mandar los valores de la imagen igual aunque no subas nada , poque si despues le pones "actualizar datos", va a cambiar solo los valores de texto y no te subira el archivo.

mmmporque no haces una vista previa en un panel lateral con ajax?
asi te evitas el popup y la paja de que no te funcione el evento.
  #3 (permalink)  
Antiguo 11/03/2009, 12:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 14
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Hacer upload de un archivo en php y javascript sin enviar formulario!!

la paja es que trabajo para una empresa y son ellos los que diseñan la interface y la forma en que funcionan las cosas y yo solo debo seguir.. ese en mi pequeño gran problema.. me dieron un boceto y lo tengo que seguir.. alguien tiene otra idea?
  #4 (permalink)  
Antiguo 11/03/2009, 13:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Hacer upload de un archivo en php y javascript sin enviar formulario!!

No puedes hacer envios de archivos por GET así como lo expones, necesitas forzosamente subir el archivo al servidor para poder mostrarlo.

Saludos.
  #5 (permalink)  
Antiguo 12/03/2009, 05:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 14
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Hacer upload de un archivo en php y javascript sin enviar formulario!!

pero justamente no quiero hacer el envio a traves de GET, lo que quiero es un codigo en java, que al ejecutar la funcion "previsualizar()" al pasar los parametros al pop-up haga el upload al mismo tiempo y a la hora de cargue el pop-up el archivo ya se encuentre en el servidor.. existe alguna funcion para levantar un archivo al servidor en javascript? saludos
  #6 (permalink)  
Antiguo 12/03/2009, 09:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Hacer upload de un archivo en php y javascript sin enviar formulario!!

Lo que puedes hacer es con Javascript cambiarle el target a tu formulario, si va a ser en una pagina nueva usar:
Código html:
Ver original
  1. <form action="previsualizar.php" method="post" target="_blank" >

Con eso cambias el target se abre la ventana y puedes subir ahí el archivo.

Otra opción es usar un iframe para subir el archivo primero y ponerlo en la pagina, así al hacer el preview ya va a existir en el server y te evitas estar subiendo dos veces el archivo.

Saludos
  #7 (permalink)  
Antiguo 12/03/2009, 12:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 14
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Hacer upload de un archivo en php y javascript sin enviar formulario!!

muchas gracias!!! voy a seguir probando a ver que onda.. ;) saludos
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 02:31.