Mailinglisten-Archive |
haas_(at)_xmedia-publishing.de wrote on 07.09.2001 14:45 Uhr:
>Ich glaub, ich seh' den Wald vor lauter B=E4umen nicht!
>Das sind alles sehr hilfreiche Tips, aber irgendwie funzt es einfach =
nicht.
will wieder keiner code rausruecken? ;-)
try this one and have phun:
<?PHP
//session_cache_limiter('public');
// fuer besseres dl verhalten im msie 5.5, erst ab PHP 4.03
if ($file) {
$filename=3D"data/".basename($file);
if ((file_exists($filename)) && ($fp=3Dfopen($filename, "r")) ) {
if (stristr(getenv(HTTP_USER_AGENT), "MSIE")) {
$browser=3D"msie";
}
if ($browser=3D=3D"msie") {
// header("Content-type: application/x-ms-download");
header("Content-type: x-type/subtype\n");
// header("Content-type: application/force-download");
header("Content-disposition: =
attachment;filename=3D".basename($filename)."\n");
} else {
header("Content-type: x-octet-stream\n");
header("Content-disposition: =
attachment;filename=3D".basename($filename)."\n");
header("Content-description: JustThum-Generated Data\n");
}
header("Content-Transfer-Encoding: binary\n");
// header("Expires: Tue, 27 Jul 1997 10:30:00 GMT");
header("Last-Modified:" . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache");
// header("Cache-Control: post-check=3D0, pre-check=3D0");
header("Content-length: ".filesize($filename)."\n");
header("Pragma: no-cache");
fpassthru($fp);
flush();
// fclose($fp);
// nicht unbedingt noetig, da fpassthru bereits closed
} else {
header("Status: 404");
exit;
}
}
?>
du rufst das ganze als link auf: download.php?file=3Dsendme.gif
besser du uebergibst nur eine zahl und wandelst die erst im skript =
(array) in einen dateinamen.
probleme gibts hauptsaechlich im ie. fuer die version 5.5 gibts =
irgendwo ein patch (sonst funktioniert der dl nur, wenn du "rechte =
taste -> speichern unter" drueckst).
an den headern kannst du noch ein wenig basteln (je nach belieben).
hth
gruss uLi
php::bar PHP Wiki - Listenarchive