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