Det er p.g.a. HTTP-headeren som bliver sendt fra HTTP-serveren (Apache,
eller?). Hvis du sætter de rigtige HTTP-headers i dit PHP-script, så vil
browseren der modtager filen tro at det er en anden filtype end PHP....
PHP-koden:
header( "Content-type: application/x-gzip" );
header( "Content-Disposition: attachment; filename=some-file.tar.gz" );
header( "Content-Description: PHP3 Generated Data" );
Du skal nok ændre første linie til at afspejle den pågældende filtype. Kig i
filen "apache-mine.types" (på Apache/Linux) for at se hvad du har af
muligheder...
Linie 2 giver dig mulighed for at foreslå et filnavn, som filen skal gemmes
som... Linie 3 kan du nok undvære, men den er jo meget fed at have med....
Jeg ved ikke om det virker på alle browsere.
Der er en oversigt over HTTP-headers her:
http://www.w3.org/Protocols/HTTP/Object_Headers.html
Håber det virker.
/Morten
HCH <hchhimself@NOSPAM.hotmail.com> wrote in message
news:3a767e3e$0$3191$73beb97d@news.dk.uu.net...
> Hej, læs lige nedenstående fejlbeskrivelse og læs mit script nederst.
>
> Jeg har lavet en MySQL database indeholdende en masse forskellige filer
> (recordtypen er LongBlob, og jeg forsøger nu at lave et download-script
> "Hentfil.php3" der kaldes fra min hjemmeside med id'et på den fil der
ønskes
> downloadet.
>
> Scriptet virker kun delvist. Hvis jeg kører det kommer der godtnok
standard-
> dialogen med overskriften "Du har valgt at hente en fil fra dette sted,
hvor
> jeg
> har de to valg "Åbn filen fra dens nuværende placering" eller "Gem filen
på
> disken".
>
> Men i linien der angiver filnavnet står der "sendfile.php3?id=1 fra
> mitwebsted.dk."
> istedet for selve filnavnet.
>
> Vælger jeg at gemme filen på disk, kommer standard-savedialogen og i dette
> billede er filnavnet korrekt. Dette er testet og fungerer fint.
>
> Vælger jeg derimod at åbne filen, får jeg samme billede igen, hvor jeg
skal
> vælge mellem at åbne eller gemme filen. Nu er filnavnet dog blevet
> rigtigt!!!
> Og vælger jeg igen at åbne filen - ja så bliver den åbnet korrekt!!!!
>
> Jeg fatter intet, og vil blive meget taknemmelig for al den hjælp jeg kan
> få.
>
> Med venlig hilsen
> HC Henriksen
> email : hchhimself@hotmail.com
>
> ------------Script Sendfile.php3------------
>
> <?PHP
> $connection=mysql_connect("localhost","hch","hch");
> $result=mysql_select_db("HCH", $connection);
> $result=mysql_db_query("HCH","SELECT id, filnavn, filen FROM Files WHERE
> id=$id");
>
> if(mysql_num_rows($result)>0)
>
> $row=mysql_fetch_row($result);
> header("Content-type: application/octet-stream");
> header("Content-Disposition: type=attachment; filename=\"$row[1]\"");
>
> echo $row[2];
> }
> ?>
>
>
>
>
>
>