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