/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
"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

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408528
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste