phpbar.de logo

Mailinglisten-Archive

[php] File-Downloads

[php] File-Downloads

Manu Robledo molists at mopot.de
Sam Nov 27 13:42:43 CET 2004


Danke!!
Hab mir doch gedacht, dass sich da schonmal jemand mit rumschlagen musste... 
:)
Sieht so aus, als wär das genau das, wonach ich gesucht hab.

Gruss

Manu


> Hallo manu,
>
> Ich hab leider die original-email nicht mehr, aber beim mac ie ist das ein
> problem des ie. Hatte mich auch mal nen tag gekostet... :-)
>
> Bei speichern unter zeigt er grundsaetzlich z.b. Speichern unter
> "download.php" an. Danach startet ja aber automatisch der downloadmanager
> und dem teilt man den richtigen namen wie folgt mit, sowie zwingt ihn 
> immer
> die datei downzuloaden statt im browser-plugin (bei pdfs, mpg usw)
> anzuzeigen:
>
> (alternativ kann man auch einfach die alt-taste beim klick auf den dl-link
> druecken und das ganze wandert automatisch unter dem im header angegebenen
> namen in den download-manager)
>
> <--- snip --->
>
> $bild_org_name = "bild.jpg";
> $bild_size = filesize($bildpath);
>
> header ("Expires: 0");
> header ("Cache-Control: private, must-revalidate, post-check=0,
> pre-check=0");
> header ("Content-type: application/force-download;
> filename=\"$bild_org_name\"");
> header ("Content-type: application/octet-stream;
> filename=\"$bild_org_name\"");
> header ("Content-type: application/download; 
> filename=\"$bild_org_name\"");
> header ("Content-Description: \"$bild_org_name\"");
> header ("Content-Disposition: attachment; filename=\"$bild_org_name\";");
> header ("Content-Transfer-Encoding: binary");
> header ("Content-length: $bild_size");
>
> $file = fopen ($bildpath, "rb");
> fpassthru ($file);
> fclose ($file);
>
>
> Getestet auf fast allen browsern unter win, mac und unix.
>
>
> <--- snip --->
>
> Bei ssl/https musst noch folgendes reinstellen:
> Wenn kein ssl, kannst du problemlos cachen, aber mit ssl zickt der ie auf
> der dose rum...
>
> session_cache_limiter("private_no_expire, must-revalidate");
> session_cache_expire(0);
> session_start();
>
>
> <--- snip --->
>
> Und wenn ssl beim apache wie folgt, da sonst gar nix mehr geht mit 
> downloads
> auf dem mac-ie geht:
>
> SSLEngine ON
> SSLProtocol all -SSLv3
> #wegen ie 5 kompatibilitaet auf mac os 9
> SSLCipherSuite
> !EXP1024-RC4-SHA:!EXP1024-DES-CBC-SHA:ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:
> +LOW:+SSLv2:+EXP:+eNULL
> SSLVerifyClient none
>
> SSLCertificateFile cert.crt
> SSLCertificateKeyFile cert.key
>
> <--- snip --->
>
>
>
> Das sollte helfen...
>
> Versuch erst gar nicht was wegzulassen... Damits auf jedem browser laeufft
> muss alles rein... Lol...
>
>
> Gruesse, ray
>
>
>>>> ich hab bis jetzt immer damit abdecken können das ich als Downloadpfad
>>>> am ende download.php?fileid=123&filename=dateiname.ext
>>
>>> Ich versteh nicht ganz, was das bringt? OK, ich muss den Dateinamen 
>>> nicht
>>> aus der DB holen, aber sonst?
>>
>
>
>
>
> -- 
> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
> Informationen: http://www.phpbar.de
> http://lists.phpbar.de/mailman/listinfo/php
>
> 



php::bar PHP Wiki   -   Listenarchive