Foros del Web » Programando para Internet » PHP »

descargar archivo .dat

Estas en el tema de descargar archivo .dat en el foro de PHP en Foros del Web. Hola buenos dias, estoy trabajando con php, mysql, html, javascripts... he conseguido q el programa me genere un archivo de texto .dat con información que ...
  #1 (permalink)  
Antiguo 07/07/2009, 00:56
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 15 años, 11 meses
Puntos: 1
descargar archivo .dat

Hola buenos dias, estoy trabajando con php, mysql, html, javascripts...

he conseguido q el programa me genere un archivo de texto .dat con información que tengo almacenada en mi base de datos.

El archivo lo creo automaticamente al entrar a la pagina "exporta.php" con:

$fp = fopen($mitxt,"w");

se crea el archivo en la carpeta del servidor... en esta misma página ("exporta.php") he puesto un enlace a este archivo:

echo "<a href=\"".$mitxt."\">Descargar</a>";

Al pulsar este enlace se abre la ventana de abrir, guardar o cancelar.

Hasta aqui todo bien. Lo que necesitaria es que al entrar "exporta.php" se abriera esta ventana automaticamente sin tener q pulsar el enlace anterior.

he probado usando:

window.open('SUENLACE.dat'); // SUENLACE.dat es el nombre del archivo creado

Pero no se abre esta ventana de abrir, guardar o cancelar...

Hace el típico ruidito como cuando se bloquean ventanas emergentes, lo tengo todo creo que bien puesto en el explorer para q no me bloquee esta ventana.

conoceis alguna forma?? GRACIAS!
  #2 (permalink)  
Antiguo 07/07/2009, 08:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: descargar archivo .dat

Puedes enviar una cabecera para forzar la descarga:
Código php:
Ver original
  1. header('Content-type: application/octet-stream');
  2. header('Content-Disposition: attachment; filename="nombre.dat"\n');
Y con echo imprimir el contenido del archivo (no enviar una salida HTML sino enviar directamente el contenido del archivo).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 08/07/2009, 03:00
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: descargar archivo .dat

Muchas gracias David por la respuesta, me a orientado mucho. He seguido buscando información relacionada a tu respuesta ya que no me funcionaba del todo bien... ya que la ruta del archivo no la encontraba.

Asi es como lo he dejado al final y ya me funciona muy bien!


Tb me a ayudado el post que dejó: DarkJ
forosdelweb.com/f18/duda-con-header-content-disposition-attachment-531505/



//Nombre del archivo a abrir
$mitxt = "SUENLACE.dat";

//Ruta donde debe estar el archivo
$ruta="Carpeta"."/".$mitxt;

//En el header he modificado el valor de filename
header('Content-type: application/dat');
header('Content-Disposition: attachment; filename="'.$mitxt.'"');

// Ahora creo el archivo q despues querre guardar
$fp = fopen($empresa."/".$mitxt,"w");

//Escribo cosas en este archivo ($shtml)
fwrite($fp,$shtml);

//Termino de escribir en el archivo y lo cierro
fclose($fp);

//Y con esto se indica donde esta alojado el archivo
readfile($ruta);

//Como lo que queria era guardar este archivo donde yo quisiera en mi pc, una vez que se ha guardado lo elimino con:

unlink($ruta);




SALUDOS
  #4 (permalink)  
Antiguo 08/07/2009, 10:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: descargar archivo .dat

Me alegra que te haya servido.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 06:48.