Google
Web dns.bdat.net

[PHP-ES] Re: Como generar dos outputs...

From: Keko ( keko_metal(EN)hotmail.com)
Date: Wed Nov 17 2004 - 05:05:34 CET


La soluciones factibles me parecen las siguientes:

1- La página resultante es la de muchas gracias, conteniendo dentro un
IFRAME o similar apuntando al archivo de texto. de esta forma la
presentación nunca deja de estar bonita.

2- Datos CSV generados me suena a que el que obtiene esos datos tarde o
temprano va a guardarlo en un archivo en su propia máquina. para evitar el
siempre horrible Copy/Paste (y el consecuente horror de olvidarse de pintar
un par de caracteres con el mouse y comerse los datos) podrías forzar el
download del CSV enviando headers antes del archivo. Si te interesa tengo
código que te puedo pasar para esto.

El timeout se puede controlar, si no me equivoco

Saludos,
Keko

"Ferran Orsola" < forsola(EN)hotpop.com> escribió en el mensaje
news:41993E18.3080803(EN)hotpop.com...
> Hola gente,
>
> Tengo una web en PHP 5 con base de datos mysql.
>
> Una de las funciones de dicho site tiene que ser la generacion de cierta
> information de la base de datos en CSV. La funcion de generar el CSV ya
> esta hecha y funciona de fabula, mediante un formulacio para seleccionar
> los criterios de busqueda y una libreria en PHP que genera el CSV.
>
> Para mas informacion mirar el siguiente codigo:
>
> <?php
> include("library.ini.php");
> authentication(0);
>
> include("statistics.ini.php");
>
> $response = createStatistic($_POST);
>
> $len = strlen($response);
>
> //Avoid bug in IExplore
> header("Pragma: ");
> header("Cache-Control: ");
> header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
> header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
> header("Cache-Control: post-check=0, pre-check=0", false);
> // END
>
> header("Content-type: text/csv\n");
> header("Content-disposition: inline; filename=statistics.csv");
> header("Content-transfer-encoding: binary\n");
> header("Content-length: $len\n");
>
> echo "$response";
>
> ?>
>
> Evidentemente el form del cuestionario apunta a esta pagina.
>
> El problema que tengo es que quiero que sacar un pagina de gracias y a
> la vez generar el CSV. El rpoblema es que si genero una pagina
> intermedia y luiego lanzo este codigo se crea un error ya que el headers
> ya esta definido como texto/html.
>
> Alguien sabe como cerrar un output y text/html y luego crear otro
> text/csv? O alguna otra idea para poder hacer lo que quiero?
>
> A veces ademas si el CSV tarda mucho tiempo en generarse se crea un time
> out, para evitar esto me gustaria tener una pagina intermedia con una
> barra de tiempo y que cuando acabe se genere la pagina de gracias y el
> CSV. Sabeis como hacer esto???
>
> Me iria muy bien algun codigo parecido para ver como lo habeis hecho.
>
> Gracias a todos,
>
> Ferran Orsola
>
> P.D.: Por cierto alguno de vosotros sabe si existe Internet Explorer
> para linux? Lo necesito para probar mis javascripts para plataformas
> microsoft. No quiero recurrir a instalar una particion para windows en
> mi laptop solo para probar eso, linux me gusta mucho mucho mas, no se
> porque :-)

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Wed Jan 26 2005 - 23:58:52 CET