|
| "dynamisk" generering af txt fil -> header~ Fra : Kasper Skjodt Nielse~ |
Dato : 13-03-04 14:32 |
|
Hej
Jeg har en php side med en MySQL backend.
Brugerne kan vælge nogle personer ud fra en liste, og de kan derefter få
en samlet liste af dem de har valgt, med nogle oplysninger som navn,
adresse, telefon osv.....så langt så godt.
...men...kan man lave det så php i stedet for at lave en web side med
listen (jeg bruger echo"" og i nogle tilfælde printf( ) af html) laver
en txt fil som folk får til download?
Den skal ikke hedde : fil.txt - men måske fil.liste eller så -
underordnet, den skal bare tilbydes som download vha header() med nogle
argumenter vil jeg tro.
Hvordan klarer man det lettest ?
Mvh
Kasper
| |
Lars Balker Rasmusse~ (13-03-2004)
| Kommentar Fra : Lars Balker Rasmusse~ |
Dato : 13-03-04 19:00 |
|
Kasper Skjodt Nielsen <ksn@get2net.dk> writes:
> Hvordan klarer man det lettest ?
Du laver bare en .php-fil der laver
header("Content-type: text/plain");
efterfulgt af hvad du vil have i din text-fil - browseren burde så
kunne gennemskue at det ikke er en html-fil og vise den korrekt.
Jeg har selv brugt noget lignende mange gange til text, pdf og
grafik-filer.
--
Lars Balker Rasmussen http://consult-perl.dk
Consult::Perl
| |
Tonni Aagesen (13-03-2004)
| Kommentar Fra : Tonni Aagesen |
Dato : 13-03-04 19:17 |
|
Lars Balker Rasmussen wrote:
> Kasper Skjodt Nielsen <ksn@get2net.dk> writes:
>
>>Hvordan klarer man det lettest ?
>
>
> Du laver bare en .php-fil der laver
>
> header("Content-type: text/plain");
>
> efterfulgt af hvad du vil have i din text-fil - browseren burde så
> kunne gennemskue at det ikke er en html-fil og vise den korrekt.
også måske lige en
header('Content-Disposition: attachment; filename=fil.liste');
så filen pr. default bliver gemt og ikke fremvist ;)
Mvh
Tonni
| |
Kasper Skjodt Nielse~ (13-03-2004)
| Kommentar Fra : Kasper Skjodt Nielse~ |
Dato : 13-03-04 21:24 |
|
Det er meget fint, det det mest det INDEN jeg var i tvivl om...
Altså - hvordan "danner" jeg den fil on-the-fly ?
hvis jeg har en fysisk fil på drevet er det intet problem at sende den,
men den skal jo "dannes" specielt for hver gang. Det er ikke så godt
bare at gemme som filnavn.txt - da der jo kan værer flere brugere der
danne samtidigt osv - og disken skal jo heller ikke fyldes af små
generede txt filer....
Tonni Aagesen wrote:
> Lars Balker Rasmussen wrote:
>
>> Kasper Skjodt Nielsen <ksn@get2net.dk> writes:
>>
>>> Hvordan klarer man det lettest ?
>>
>>
>>
>> Du laver bare en .php-fil der laver
>>
>> header("Content-type: text/plain");
>>
>> efterfulgt af hvad du vil have i din text-fil - browseren burde så
>> kunne gennemskue at det ikke er en html-fil og vise den korrekt.
>
>
> også måske lige en
>
> header('Content-Disposition: attachment; filename=fil.liste');
>
> så filen pr. default bliver gemt og ikke fremvist ;)
>
> Mvh
> Tonni
| |
Tonni Aagesen (14-03-2004)
| Kommentar Fra : Tonni Aagesen |
Dato : 14-03-04 01:47 |
|
Kasper Skjodt Nielsen wrote:
>
> Det er meget fint, det det mest det INDEN jeg var i tvivl om...
>
> Altså - hvordan "danner" jeg den fil on-the-fly ?
>
> hvis jeg har en fysisk fil på drevet er det intet problem at sende den,
> men den skal jo "dannes" specielt for hver gang. Det er ikke så godt
> bare at gemme som filnavn.txt - da der jo kan værer flere brugere der
> danne samtidigt osv - og disken skal jo heller ikke fyldes af små
> generede txt filer....
Om du har fysisk adgang til data er ikke relevant. Med lars' og mit
forslag genererer du data fra en database "on the fly" - altså behøver
du ikke oprette en fil.
De data du "output'er" lever i en slags buffer, som du med header()
sender til browseren.
Når du ikke får en fiks og færdig løsning, er det fordi, at det er min
overbevisning, at du får mere ud af at søge/prøve selv - i det lange løb.
hint: prøv at læse kommentarene for funktionen header() i PHPs manual.
Mvh
Tonni
| |
|
|