Foros del Web » Programando para Internet » PHP »

GENERAR txt y mostrarlo en el navegador

Estas en el tema de GENERAR txt y mostrarlo en el navegador en el foro de PHP en Foros del Web. Hola... tengo un proyecto y debo generar un txt apartir de unos datos en una base para eso ocupo php pero ahi va todo bien. ...
  #1 (permalink)  
Antiguo 19/07/2009, 04:13
 
Fecha de Ingreso: julio-2009
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Información [RESUELTO]GENERAR txt y mostrarlo en el navegador

Hola... tengo un proyecto y debo generar un txt apartir de unos datos en una base para eso ocupo php pero ahi va todo bien. genero un txt y le doy el formato que quiera pero como le hago para que lo descarge la gente osea que al apretar el boton de descarga se genere y lo descarge.

Saludos y espero que me puedan ayudar

Última edición por rafaept; 21/07/2009 a las 22:11 Razón: [RESUELTO]
  #2 (permalink)  
Antiguo 19/07/2009, 07:42
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: GENERAR txt y mostrarlo en el navegador

Cita:
Iniciado por rafaept Ver Mensaje
Hola... tengo un proyecto y debo generar un txt apartir de unos datos en una base para eso ocupo php pero ahi va todo bien. genero un txt y le doy el formato que quiera pero como le hago para que lo descarge la gente osea que al apretar el boton de descarga se genere y lo descarge.

Saludos y espero que me puedan ayudar
nose si te entendi bn, quieres que al pulsar un enlace se fuerze la descarga de un archivo .txt ???

si es a eso..

puedes crear un archivo que fuerze la descarga del archivo usando header.
no tengo ejemplos para darte , puedes buscar en google algo asi: forzar descarga de archivo con php, seguro que hay muchos ejemplos..

otro ejemplo , tienes una variable $contenido y quieres forzar la decargar de un txt con el contenido de esa variable

$contenido= este texto es para descargar;


aqui te dejo un ejemplo que genera un archivo .rtf (para word)
aunque a lo mejor tendrias que cambiar los header si quieres que te lo descarge como texto plano.

generar.php

Código PHP:
<?php

/* En los encabezados indicamos que se trata de un documento de MS-WORD
  y en el nombre de archivo le ponemos la extensión RTF.            */
header('Content-type: application/msword');
header('Content-Disposition: inline; filename=documento_de_texto.rtf'); 


/*  Comenzamos a armar el documento  */
$contenido="{\\rtf1";   //<-- Iniciamos un documento RTF
$contenido.= "{\\fs48 mozilla firefox}"//<-- Texto de tamaño 48 para el Título
$contenido.= "\\par ";  //<-- ENTER       

$contenido.= "{\\fs30 El navegador Número 1}"//<-- Texto de tamaño 30 para el Subtítulo
$contenido.= "\\par ";  //<-- ENTER       
$contenido.= "\\par ";  //<-- ENTER       

/* Parrafo */
$contenido.= "Windows Internet Explorer (también conocido antes como Internet Explorer, IE o MSIE) 
es un navegador que no sirve para nada, solo da problemas , producido por Microsoft para su plataforma 
Windows y más tarde para Apple Macintosh, es recomendable usar mozilla firefox mas rapido y seguro. "
;
$contenido.= "\\par ";  //<-- ENTER       

/* Parrafo */
$contenido.= "mas sobre IE:

El 18 de octubre de 2006, Microsoft lanzó la versión 
número 7 de Internet Explorer. Entre otros detalles el programa fue 
renombrado a Windows Internet Explorer, como muestra de 
la integración de la aplicación con el Sistema Operativo. 
IE7 esta disponible solamente para Windows XP Service Pack 2, 
Windows Server 2003 Service Pack 1 y "
;
$contenido.= "{\\b Windows Vista}."//<-- Poner negritas

$contenido.= "\\par ";  //<-- ENTER
$contenido.= "\\par ";  //<-- ENTER
$contenido.= "{\\qr Tomado de wikipedia\\par}"// <-- Alineado a la derecha

$contenido.= "{\\i Bill Gates III}"// <-- Itálica
$contenido.= "\\par ";  //<-- ENTER
$contenido.= "{\\ul Fundador de Microsoft}"// <-- Subrayado
$contenido.="}"//<-- Terminador del RTF

/*  Enviamos el documento completo a la salida  */
echo $contenido
?>
espero que te sirva.
saludos
  #3 (permalink)  
Antiguo 19/07/2009, 07:51
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: GENERAR txt y mostrarlo en el navegador

Es bien facil.

Imaginemos que tienes un archivo que se llama

descargar.php

Código PHP:

## Imaginando que el archivo no cambia.
$archivo "prueba.txt";
if ((isset(
$_GET['file'])) && (!empty($_GET['file'])) && ($archivo==$_GET['file'])){

##Generamos el archivo
$contenido "Hola Mundo.";
$f=fopen($archivo,"w");
fwrite($f,$contenido);
fclose($f);



$enlace $archivo
header ("Content-Disposition: attachment; filename=".$enlace); 
header ("Content-Type: application/octet-stream"); 
header ("Content-Length: ".filesize($enlace)); 
readfile($enlace); 


Y finalmente tengo mi archivo html con este link
<a href="descargar.php?file=prueba.txt">Archivo</a>
  #4 (permalink)  
Antiguo 20/07/2009, 19:11
 
Fecha de Ingreso: julio-2009
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: GENERAR txt y mostrarlo en el navegador

Gracias por su respuesta, que crees gjx2 no me funciona, me aparece este error en el log de apache: "not found or unable to stat, referer: (sitio web)"
  #5 (permalink)  
Antiguo 21/07/2009, 22:09
 
Fecha de Ingreso: julio-2009
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: GENERAR txt y mostrarlo en el navegador

Listo, problema resuelto!!! gracias a gjx2 y waty90
  #6 (permalink)  
Antiguo 29/07/2009, 15:51
Avatar de okvic77  
Fecha de Ingreso: abril-2009
Mensajes: 74
Antigüedad: 15 años
Puntos: 0
Respuesta: GENERAR txt y mostrarlo en el navegador

no se podra generarlo temporalmente y luego forzar descarga??? SAlu2
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 14:27.