phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?RE:_=5Bphp=5D_download-header_vorschl=E4ge?=

[php] =?iso-8859-1?Q?RE:_=5Bphp=5D_download-header_vorschl=E4ge?=

Matthias Endler endler_(at)_upsys.de
Fri, 13 Oct 2000 05:45:08 +0200


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