/ 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
Undgå at gemme fil inden download?
Fra : Ukendt


Dato : 31-03-03 14:43

Jeg er kørt fast og har brug for et hint til at komme videre på!

Nedenfor har jeg flikket et simpelt eksempel sammen.
Eksemplet laver en fil som gemmes på serveren.
Derefter åbnes et filoverførselsvindue i brugerens browser så denne fil kan
downloades.

<?php

$content = "aa\tbb\tcc\n\tee\t\ngg";
$filename = filetest.xls";

$file = fopen($filename, "wb");
fputs($file, $content);
fclose($file);

header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=" . $filename);
readfile($filename);

?>

Jeg vil gerne undgå at skulle gemme filen på serveren inden den kan
downloades.

Kan jeg gå direkte fra de to variabler $content og $filename via headers til
download?

Og i givet fald hvordan?


Claus



 
 
B. Johannessen (31-03-2003)
Kommentar
Fra : B. Johannessen


Dato : 31-03-03 14:54

Claus Nygaard-Pedersen <> wrote:
> Jeg vil gerne undgå at skulle gemme filen på serveren inden den kan
> downloades.
>
> Kan jeg gå direkte fra de to variabler $content og $filename via headers til
> download?
>

$content = "aa\tbb\tcc\n\tee\t\ngg";
$filename = filetest.xls";

header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=" . $filename);
echo $content;

burde vel fungere?


   Bob

--
B. Johannessen sip:bob@h.db.org
bob@db.org tel:+47 33314030
http://db.org/ fax:+47 33313846
E9D4 D43C A6AE 80D8 98C8 878F A288 AC53 230E 1658 mob:+47 97152009

Ukendt (31-03-2003)
Kommentar
Fra : Ukendt


Dato : 31-03-03 15:10

"B. Johannessen" <bob-news@db.org> skrev i en meddelelse
news:slrnbfr7hu.epn.bob-news@fidel.h.db.org...
> Claus Nygaard-Pedersen <> wrote:
> > Jeg vil gerne undgå at skulle gemme filen på serveren inden den kan
> > downloades.
> >
> > Kan jeg gå direkte fra de to variabler $content og $filename via headers
til
> > download?
> >
>
> $content = "aa\tbb\tcc\n\tee\t\ngg";
> $filename = filetest.xls";
>
> header("Content-type: application/force-download");
> header("Content-Disposition: attachment; filename=" . $filename);
> echo $content;
>
> burde vel fungere?

Tak for forsøget Bob, men desværre virker det ikke!

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in
c:\programmer\apache group\apache\htdocs\filetest.php on line (den første
header)

Claus



Andreas Haugstrup Pe~ (31-03-2003)
Kommentar
Fra : Andreas Haugstrup Pe~


Dato : 31-03-03 15:33

"Claus Nygaard-Pedersen" <cnpatofir.dk> wrote in
news:3e884c3a$0$138$edfadb0f@dtext01.news.tele.dk:

> $filename = filetest.xls";

Du mangler lige et "

--
Andreas
<http://www.solitude.dk>

Ukendt (31-03-2003)
Kommentar
Fra : Ukendt


Dato : 31-03-03 16:10

"Andreas Haugstrup Pedersen" <usenet@solitude.dk> skrev i en meddelelse
news:Xns934FA8A308A87usenetsolitudedk@130.225.247.90...
> "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote in
> news:3e884c3a$0$138$edfadb0f@dtext01.news.tele.dk:
>
> > $filename = filetest.xls";
>
> Du mangler lige et "

Tak!

Det havde jeg godt nok overset :)

Men det interessante er at:

<?php
$content = "aa\tbb\tcc\n\tee\t\ngg";
$filename = "filetest.xls";

header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=" . $filename);
echo $content;
?>

ikke giver mulighed for download af en fil.

Med echo vises indholdet af $content i stedet på skærmen.

Claus



Kristian Risager Lar~ (01-04-2003)
Kommentar
Fra : Kristian Risager Lar~


Dato : 01-04-03 06:58

> Med echo vises indholdet af $content i stedet på skærmen.


Brug readfile() i stedet.
Evt. kan du teste med

if(fopen($file,"r")) { readfile($file) }

Husk dog at tilføje sikkerhed!
--
Kristian Risager Larsen, Californien, USA - http://kezze.dk




Ukendt (01-04-2003)
Kommentar
Fra : Ukendt


Dato : 01-04-03 07:12

"Kristian Risager Larsen" <kristian@risager.org> skrev i en meddelelse
news:SL9ia.17768$G6.9434@fe01.atl2.webusenet.com...
> > Med echo vises indholdet af $content i stedet på skærmen.
>
>
> Brug readfile() i stedet.
> Evt. kan du teste med

Tak for tippet Kristian, men skal filen ikke være tilgængelig på disken for
at jeg kan bruge readfile?

Hele idéen var jo netop at generere filen on-the-fly udfra variabler/strenge
og så lade brugere dowloade den.

Claus



Kristian Risager Lar~ (01-04-2003)
Kommentar
Fra : Kristian Risager Lar~


Dato : 01-04-03 07:42

> Hele idéen var jo netop at generere filen on-the-fly udfra
variabler/strenge
> og så lade brugere dowloade den.

Hovsa! (Men så burde det jo være fint at echo'e variablen til brugeren)
Jeg skal også til at i seng.
--
Kristian Risager Larsen, Californien, USA - http://kezze.dk




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

Månedens bedste
Årets bedste
Sidste års bedste