Mailinglisten-Archive |
Hallo allesamt, ich weiss... diese Thematik wurde hier schon x-mal diskutiert.... und genau das ist leider auch mein Problem. Es gibt hierzu einfach zuviele "gute Ratschläge" in der Liste (in meinem Archiv), Deshalb wollte ich mal fragen... - wie man's denn nun "richtig" (RFC konform) macht, - ob die Reichenfolge der zu sendenden Header wirklich keine Rolle spielt, - ob \n, \r\n oder garkein Zeilenumbruch an die jeweiligen Header angehängt werden soll/muss, - ... Im Anschluss an diese Mail füg ich mal ein Beispiel an, wie ichs vor langem mal gemacht hab und wie's zumindest auf meinem MSIE funktioniert. Bin für jeden Hinweis dankbar. Liebe Grüße aus Wien, Andy <?php $pfad = "c:/home/test/xls"; $file = "myXls.xls"; $mime = "application/msexcel"; $fp=fopen($pfad."/".$file,"rb"); $binaryValue = fread ($fp, filesize ($pfad."/".$file)); fclose($fp); header ("Content-Type: ".$mime."\n"); // Following Content-Disposition has the advantage that the file which // shall be opened will be opened in its right application, but the // disadvantage that you will be asked twice what you want to do with // the file (save or open) // header ("Content-Disposition: ".(!strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 5.5")?"attachment; ":"")."filename=\"".$file."\"\n"); // Following Content-Disposition would have the advantage that you will // ony be asked once what you want to do with the file (save or open), // but the disadvantage that the file will be opened in msie if an // adequate plugin exists like it is for ms word or pdf files // // header ("Content-Disposition: filename=\"".$file."\"\n"); header ("Content-Transfer-Encoding: binary\n"); header("Expires: ".date("D, d M Y H:i:s",275031900)." GMT"); // Date in the past header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); // always modified header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 header("Cache-Control: post-check=0, pre-check=0", false); // ??? header("Pragma: no-cache"); // HTTP/1.0 // header ("Cache-Control: post-check=0, pre-check=0\n"); header ("Content-Length: ".strlen($binaryValue)."\n"); echo $binaryValue; ?>
php::bar PHP Wiki - Listenarchive