Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Download dialog box

0 views
Skip to first unread message

ran2far

unread,
Dec 8, 2009, 8:15:08 PM12/8/09
to
Jeg har en side

http://kaalund.net/Henrik/Current/OnTheVergePhotos.htm

som jeg godt kunne t�nke mig at at rette lidt p�. N�r man klikker p�
et billede i en ringe opl�sning skal en download-dialog-box til et billede i
en h�jere opl�sning
startes. Alts� ikke "save image as.." (hedder det "gem fil som..." p�
Dansk?). Jeg vill ikke have at brugeren skal igennem nogetsomhelst med at
h�jre-klikke eller noget andet end: klik p� det lille billede, vil du
downloade, ok. Jeg ved det kan g�res i java men brugeren kan jo have det
sl�et fra
og s� er der det med pop-up blockere. Jeg ser det hele tiden fungere p�
computer tidskifters hjemmesider n�r man
skal downloade noget. Kan det g�res i CSS? Eller PHP? Eller hvad? Hvad er
den
bedste m�de at g�re det p�, hvor man kan v�re sikker p� at det fungerer p�
alle platformer?


Stig Johansen

unread,
Dec 8, 2009, 8:56:22 PM12/8/09
to
ran2far wrote:

> skal downloade noget. Kan det g�res i CSS? Eller PHP? Eller hvad? Hvad er
> den
> bedste m�de at g�re det p�, hvor man kan v�re sikker p� at det fungerer p�
> alle platformer?

Det handler bare om at f� sat en header p� svaret.
Selv om det er MS/ASP, s� synes jeg der er en rimelig god beskrivelse her:
<http://support.microsoft.com/kb/260519>

--
Med venlig hilsen
Stig Johansen

ran2far

unread,
Dec 11, 2009, 6:48:42 PM12/11/09
to

>> skal downloade noget. Kan det g�res i CSS? Eller PHP? Eller hvad? Hvad er
>> den
>> bedste m�de at g�re det p�, hvor man kan v�re sikker p� at det fungerer
>> p�
>> alle platformer?
>
> Det handler bare om at f� sat en header p� svaret.
> Selv om det er MS/ASP, s� synes jeg der er en rimelig god beskrivelse her:
> <http://support.microsoft.com/kb/260519>

OK, jeg har kigget lidt p� det og pr�vet at lave en side der skulle kunne
det. Men det fungerer ikke:

http://kaalund.net/Testing_PHP/test3.php

Jeg forst�r det ikke.


Stig Johansen

unread,
Dec 11, 2009, 11:01:57 PM12/11/09
to
"ran2far" <hen...@kaalund.net> wrote in message
news:hfulot$2np$1...@online.de...

> OK, jeg har kigget lidt p� det og pr�vet at lave en side der skulle kunne
> det. Men det fungerer ikke:
>
> http://kaalund.net/Testing_PHP/test3.php
>
Den giver bare en fejl:
....
Parse error: syntax error, unexpected T_STRING in
/home/kaalund/public_html/Testing_PHP/test3.php on line 12
....

> Jeg forst�r det ikke.

Du har tilsyneladende en fejl i linie 12.

Det handler som sagt bare om at f� sat et par headers og s� dumpe filen i
output.

Jeg har lavet et eksempel (i ASP) her:
http://w-o-p-r.dk/images/picture_download.asp?name=206_i_rygsakken.jpg

Her s�tter jeg de to headere p� denne m�de:
....
Fname = split(Request.Querystring("name"),"/")
Response.ContentType = "image/" + split(Fname(uBound(Fname)),".")(1)
Response.AddHeader "Content-disposition","attachment;
filename="""+Fname(uBound(Fname))+""""
....

Dvs. contentype bliver image/jpg eller image/gif osv, afh�ngig af det
angivne filnavn.

Det med uBound er det sidste i et array, s� hvis man bruger kvalificerede
filnavne som i:
http://w-o-p-r.dk/images/picture_download.asp?name=/gallery/Stig_Johansen/Sa
mme_bredde_med_clip/picture_3.jpg

Bliver den sendt med filename = picture_3.jpg

Det er disse 2 headere, der er vigtige, og der er eksempler p� hvordan man
g�r det i PHP her:
http://php.net/manual/en/function.header.php

--
Med venlig hilsen/Best regards
Stig Johansen

ran2far

unread,
Dec 12, 2009, 6:36:44 AM12/12/09
to

"Stig Johansen" <wop...@gmail.com> wrote in message
news:4b2315b1$0$277$1472...@news.sunsite.dk...

Ja, din asp kode fungerer jo fint. Desv�rre kan jeg ikke bruge asp, kun php.

Jeg skal indr�mme at jeg ikke har et nys af begreb om php men har forst�et
at det er den eneste vej (bortset fran andet serverside) hvis man vil have
en download box. Det lader til at der er andre p� nettet som ogs� vil det.
Men det fungere ikke blot at kopiere koden. Det minder mig lidt om "s�t
halen p� �slet med bind for �jnene". Jeg undkylder for mine b�rnelege.


Stig Johansen

unread,
Dec 12, 2009, 8:17:45 AM12/12/09
to
"ran2far" <hen...@kaalund.net> wrote in message
news:hfvv8g$2ko$1...@online.de...

>
> Ja, din asp kode fungerer jo fint. Desv�rre kan jeg ikke bruge asp, kun
php.

S� f�r du en aftestet version i PHP her:
....
<?php
$name = $_GET['name'];
$nameA = split('/',$name) ;
$Fname = $nameA[count($nameA)-1] ;
$Fext = split('\.',$Fname) ;
header ('Content-type: image/'.$Fext[1]);
header ('Content-disposition: attachment; filename="'.$Fname.'"');
readfile($name);
?>
....

Du skal blot kalde den med det navn du gemmer den under, eks. picture.php
med name som parameter, som f.eks:

http://wsrv1/tips/picture.php?name=../images/burger-king-chart.jpg

(Her er det min interne server(wsrv1) jeg har brugt, men du skal bare gemme
den som en generel funktion, pg lave dine links derefter.

> Jeg skal indr�mme at jeg ikke har et nys af begreb om php men har forst�et
> at det er den eneste vej (bortset fran andet serverside) hvis man vil have
> en download box

Ja, den eneste vej er, at servere de rette headers (vha PHP/ASP eller
andet).

ran2far

unread,
Dec 15, 2009, 6:13:55 PM12/15/09
to

> S� f�r du en aftestet version i PHP her:
> ....
> <?php
> $name = $_GET['name'];
> $nameA = split('/',$name) ;
> $Fname = $nameA[count($nameA)-1] ;
> $Fext = split('\.',$Fname) ;
> header ('Content-type: image/'.$Fext[1]);
> header ('Content-disposition: attachment; filename="'.$Fname.'"');
> readfile($name);

Nu har jeg bikset med det frem og tilbage. Jeg kan ikke f� det til at
fungere. Det jeg vil er: n�r man klikker p� billede1 skal der komme en
download-box dialog sommer tilbyder at gemme (eller �bne) billede2. Gider du
s�tte billede1, h.h.v. billede2 ind i den kode?

> Du skal blot kalde den med det navn du gemmer den under, eks. picture.php
> med name som parameter, som f.eks:
>
> http://wsrv1/tips/picture.php?name=../images/burger-king-chart.jpg
>
> (Her er det min interne server(wsrv1) jeg har brugt, men du skal bare
> gemme
> den som en generel funktion, pg lave dine links derefter.

Det link fungerer ikke hos mig.


0 new messages