Mailinglisten-Archive |
Guten Morgen Kai, > bei meinem, zum beispiel, fehlt, dass der script auch die filesize > mitliefert... > also der download-status dann auch in prozent etc.. angezeigt werden > kann, ANSTATT "x mb von unbekannt"... waere mein Vorschlag fuer Dein "File size"-Problem (ungetestet): <? $file_size = filesize("/dir/to/file/what_ever_file.ext"); // ---snip--- header("Accept-Ranges: bytes"); header("Content-Length: $file_size"); // ---snap--- ?> > mein header im moment sieht so aus: > --- snip --- > header("Content-disposition: filename=$filename"); > header("Content-type: application/octetstream"); > header("Pragma: no-cache"); > header("Expires: 0"); > readfile($url); > --- snap --- Sieht ansonsten gut aus. > $filename ist der name des files, dass dem user als vorauswahl zum > speichern gegeben wird.. also der richtige filename > und $url ist der pfad zu der datei im web oder auf dem server.... > klappt auch ganz gut... > > doch habt ihr bessere header-vorschläge ? > sei es der content-type oder was auch immer ! Falls Du Zugriff auf eine Unix oder Linux-Box hast kannst Du die MIME-Types (Content-type) aus der Datei /etc/mime.types extrahieren. Die gebraeuchlisten kannste dann im Skript etwa so einbauen: <? $ext = substr($url,strrpos($url,'.'),strlen($url)); switch ($ext) { case 'hqx': $content_type = 'application/mac-binhex40'; break; case 'zip': $content_type = 'application/zip'; break; case 'gtar': // fall through case 'tgz': $content_type = 'application/x-gtar'; break; case 'tar': $content_type = 'application/x-tar'; break; // usw... default: $content_type = 'application/octetstream'; } // ---snip--- header("Content-type: $content_type"); // ---snap--- ?> Kannst Dir aber auch den Akt sparen und nur 'application/octetstream' benutzen. Gruesse aus Muenchen Matthias -- $ [ Where is Jimmy Hoffa? [: missing `]´
php::bar PHP Wiki - Listenarchive