Mailinglisten-Archive |
Hallo, > bastel gerade an einem Download-Script. Da ich (klar :-) counten will, Soso, "counten" - warum nicht einfach mitzaehlen .... > Datei). Bei Zip-Files, pdfs etc. funzts prima. Wenn ich aber bspw. eine > xls-Datei habe, zeigt der Browser nur unverständliche Zeichen an. Also > hab' ich mich mal mit MIME-Types beschäftigt (RFC 2046, 2045). Ein > Header("Content-type: application/octet-stream\n"); bringt auch nix. hmm. Was beim Abruf einer Datei via Browser passiert, haengt von 2 Faktoren ab: 1) Serverkonfiguration: Der Server muss den richtigen Content-Type vorausschicken. Kennt er eine Endung nicht, wird standardmaessig meist text/plain angenommen - ungeeignet fuer Excel und sonstige Binaerdateien. 2) Browserkonfiguration: Je nach Browser wird anhand des vom Server angekuendigten Content-Types (korrekt) oder anhand der Dateiendung (doof) entschieden, was mit der Datei passiert: Anzeige im Browser oder Aufruf eines Plugins. Was Du beschreibst, deutet darauf hin, dass Dein Server zip und pdf "kennt" und deshalb richtig sendet, xls aber nicht. (Zu pruefen uebrigens mit lynx -head www.server.de/pfad/datei.xls - lynx gibts auch fuer Win32 und man braucht ihn zum Debuggen staendig; also installieren und lynx --help aufrufen!) Der Server muss entweder application/octet-stream oder den Excel-spezifischen MIME-Type auswerfen. Wenn Du auf die Serverkonfiguration keinen Einfluss hast, kannst Du erst mit Header("bla") den Typ setzen, und dann direkt die Datei mit php binaer durchreichen (also keinen Umweg ueber Location: .... ). Vorzuziehen ist aber in jedem Fall eine saubere Konfiguration des Servers. Mit freundlichen Gruessen, Ulrich Babiak -- Ulrich Babiak ubabiak_(at)_netcologne.de Netcologne GmbH http://www.netcologne.de 0221/2222-236
php::bar PHP Wiki - Listenarchive