Foros del Web » Programando para Internet » PHP »

Cabeceras para forzar al navegador a guardar el archivo

Estas en el tema de Cabeceras para forzar al navegador a guardar el archivo en el foro de PHP en Foros del Web. Hola gente: estoy intentando hacer un script para poder descargar archivos. Para hacerlo tengo una pagina mipagina.php, en la cual contiene un boton que me ...
  #1 (permalink)  
Antiguo 08/07/2005, 09:21
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
Cabeceras para forzar al navegador a guardar el archivo

Hola gente:

estoy intentando hacer un script para poder descargar archivos.
Para hacerlo tengo una pagina mipagina.php, en la cual contiene un boton que me abre un popup descargar.php, para descargar un archivo.
Pero quisiera saber como puedo hacer para que se abra el popup, luego se cierre y lance el cuadro de descarga. Así como lo tienen muchos sitios.
tengo el siguiente codigo php, que funciona perfectamente, pero la parte de JS es la que no me funciona:

Código PHP:
<?
// Cabeceras para forzar al navegador a guardar el archivo 
header("Pragma: no-cache"); 
header("Expires: 0"); 
header("Content-Transfer-Encoding: binary"); 
header("Content-type: application/force-download"); 
header('Content-Disposition: attachment; filename="documento.doc"');
readfile('documento.doc');
?>
<script language="javascript">
<!--
window.close();
-->
</script>
tambien probe lo siguiente:

Código PHP:
<?
//el mismo codigo php que puse arriba
?>
<script language="javascript">
<!--
function cerrar(){
window.close();
}
-->
</script>
<html>
<body onUnload(cerrar)>
</body>
</html>
tampoco me funciono, por lo cual me fije en el codigo fuente del pop up y me muestra:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title></head><body></body></html>

de esto, saco la conclusion de que las cabeceras o no se que cosa me genera nuevamente el codigo fuente.

alguien tiene alguna sugerencia para realizar esta tarea???

desde ya muchas gracias
  #2 (permalink)  
Antiguo 08/07/2005, 09:27
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
posiblemente tienes que cambiar el readfile por un header redireccionador:
Código PHP:
<?
// Cabeceras para forzar al navegador a guardar el archivo
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header('Content-Disposition: attachment; filename="documento.doc"');
header('Location: documento.doc');
?>
  #3 (permalink)  
Antiguo 08/07/2005, 11:11
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
lado2mx

gracias por la respuesta pero tal vez no me exprese bien, el script PHP es del archivo descargar.php, este se abre como un popup y me lanza el cuadro de dialogo para descargar el archivo, hasta aca todo anda perfecto, lo que quiero es que se cierre solo el pop up descargar.php despues de haber lanzado el cuadro de dialogo "guardar", que como lo explique en el primer mensaje no me funciona con los script de JS que le puse.
  #4 (permalink)  
Antiguo 08/07/2005, 11:45
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Lo se deet, solo queria preguntarte si esa parte que te di, especial para que lo pongas en el pop-up funciona, me entiendes?
  #5 (permalink)  
Antiguo 08/07/2005, 13:25
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
Cita:
Lo se deet, solo queria preguntarte si esa parte que te di, especial para que lo pongas en el pop-up funciona, me entiendes?
lado2mx

esa cabecera hace que te redireccione directamente al archivo en cuestion, no hace nada con respecto a cerrar ningun tipo de ventanas.
¿tenes algun codigo de ejemplo, algun tutorial, que hayas probado y que realice lo que necesito?

thk

Última edición por deet; 08/07/2005 a las 13:32
  #6 (permalink)  
Antiguo 08/07/2005, 16:23
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Ya vi como...:

Extraido de Dreamweaver:
Código PHP:
<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
title>Untitled Document</title>
<
script language="JavaScript" type="text/JavaScript">
<!--
function 
MM_openBrWindow(theURL,winName,features) { //v2.0
  
window.open(theURL,winName,features);
}
//-->
</script>
</head>

<body>
<a onClick="MM_openBrWindow('http://www.pagina.net/archivo.exe','bajar','width=50,height=50')" href="#">Bajar archivo.exe</a>
</body>
</html> 
Aquí se abre el pop-up y se cierra para abrir la confirmación de guardarlo.

Última edición por lado2mx; 08/07/2005 a las 16:33
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 10:29.