/ 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
hvordan gemme db-data clientside
Fra : peter


Dato : 02-08-04 10:27

hvordan laver man et script så brugeren kan gemme data fra en tabel på sin
egen maskine (som csv fil).
Kan ikke bruge jo OUTFILE, men hvordan gør man det så lettest?

 
 
Ulrik Nielsen (02-08-2004)
Kommentar
Fra : Ulrik Nielsen


Dato : 02-08-04 11:14

peter wrote:
> hvordan laver man et script så brugeren kan gemme data fra en tabel på sin
> egen maskine (som csv fil).
> Kan ikke bruge jo OUTFILE, men hvordan gør man det så lettest?

laver din egen csv fil som du sender til brugerens browser ved tryk på
"cvs dump" eller lignende.

- husk at sætte den rigtige "header" på dit output.

--
ulrik nielsen
----------------------------------------------------------------------
excuse of the day : The POP server is out of Coke
from bofh : http://www.cs.wisc.edu/~ballard/bofh/

peter (02-08-2004)
Kommentar
Fra : peter


Dato : 02-08-04 12:08

>> hvordan laver man et script så brugeren kan gemme data fra en tabel
>> på sin egen maskine (som csv fil).
>> Kan ikke bruge jo OUTFILE, men hvordan gør man det så lettest?
>
> laver din egen csv fil som du sender til brugerens browser ved tryk på
> "cvs dump" eller lignende.
>
> - husk at sætte den rigtige "header" på dit output.
>

kan du forklare lidt mere..? hvordan laver jeg filen..jeg er ikke så
meget inde i chmod hvis det er dét der skal bruges...

Ulrik Nielsen (02-08-2004)
Kommentar
Fra : Ulrik Nielsen


Dato : 02-08-04 12:15

peter wrote:
> kan du forklare lidt mere..? hvordan laver jeg filen..jeg er ikke så
> meget inde i chmod hvis det er dét der skal bruges...


du behøver ikke danne en egentlig fil, du skal bare hive dataene ud af
databasen i kommaseperaseret format ex:
"","",""....
gem dataene i et array, en linie per entry
$data[] = "","",""....;
$data[] = "","",""....;
$data[] = "","",""....;

send header:
header("...");
send data:
exit (implode("\n", $data));


--
ulrik nielsen
----------------------------------------------------------------------
excuse of the day : The POP server is out of Coke
from bofh : http://www.cs.wisc.edu/~ballard/bofh/

peter (02-08-2004)
Kommentar
Fra : peter


Dato : 02-08-04 12:31


> du behøver ikke danne en egentlig fil, du skal bare hive dataene ud af
> databasen i kommaseperaseret format ex:
> "","",""....
> gem dataene i et array, en linie per entry
> $data[] = "","",""....;
> $data[] = "","",""....;
> $data[] = "","",""....;
>
> send header:
> header("...");
> send data:
> exit (implode("\n", $data));
>
>
det går stadig lidt for hurtigt. Hvis brugeren skal kunne gemme en fil med
data skal der vel laves en .txt eller lign.!?

Ulrik Nielsen (02-08-2004)
Kommentar
Fra : Ulrik Nielsen


Dato : 02-08-04 12:46

peter wrote:
> det går stadig lidt for hurtigt. Hvis brugeren skal kunne gemme en fil med
> data skal der vel laves en .txt eller lign.!?

nej det er det der er finten. du behøver ikke danne en fil på serveren.

man "snyder" browseren til at tro at det er en txt/csv/... fil den skal
til at downloade ved at ændre headerinformationerne der sendes til
browseren.
se evt: http://dk2.php.net/header   

prøv: (utestet)

<?php
$data[] = '"1","bla"';
$data[] = '"2","bla"';
$data[] = '"3","bla"';
$data[] = '"4","bla"';

header('Content-type: text/csv');
header('Content-Disposition: attachment; filename="download.csv"');
exit (implode("\n", $data));
?>

--
ulrik nielsen
----------------------------------------------------------------------
excuse of the day : The POP server is out of Coke
from bofh : http://www.cs.wisc.edu/~ballard/bofh/

peter (02-08-2004)
Kommentar
Fra : peter


Dato : 02-08-04 12:55

Ulrik Nielsen <un.spam@tiscali.dk> wrote in
news:410e2975$0$294$edfadb0f@dread16.news.tele.dk:

> peter wrote:
>> det går stadig lidt for hurtigt. Hvis brugeren skal kunne gemme en
>> fil med data skal der vel laves en .txt eller lign.!?
>
> nej det er det der er finten. du behøver ikke danne en fil på
> serveren.
>
> man "snyder" browseren til at tro at det er en txt/csv/... fil den
> skal til at downloade ved at ændre headerinformationerne der sendes
> til browseren.
> se evt: http://dk2.php.net/header
>
> prøv: (utestet)
>
> <?php
> $data[] = '"1","bla"';
> $data[] = '"2","bla"';
> $data[] = '"3","bla"';
> $data[] = '"4","bla"';
>
> header('Content-type: text/csv');
> header('Content-Disposition: attachment; filename="download.csv"');
> exit (implode("\n", $data));
> ?>
>
supercool !!!! det virker...tusind tak!

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste