Mailinglisten-Archive |
Thomas Langfeld wrote: > Hi, > > folgender Code soll ein PDF ausspucken (nicht zum Download anbieten): > > ... > header("Content-Type: application/pdf"); > header("Content-Length: ".filesize($filename)); > header("Content-disposition: inline; filename=" . > basename($filename)); > header("Content-Transfer-Encoding: binary"); > $pdf_buffer = fread($fp, filesize($filename)); > fclose ($fp); > print $pdf_buffer; > > Das funktioniert auch. > > Nun braucht das Skript aber Daten aus der Session, und hier > beginnen die > Probleme. > Sobald > session_start(); > aufgerufen wird, macht der IE (5.5) Mist. > (Session kommt als URL-Parameter) > > Das File wird nur zum Download angeboten, der Download selbst > bricht aber > auch sofort mit einer Fehlermeldung ab: > "Die Internetseite konnte nicht geöffnet werden, ... bla bla". > > Mozilla öffnet das PDF korrekt. > > Irgendwelche Tricks - wie ".ie=pdf" an die URL hängen - funktionieren > nicht. > Nehme an, dass Du da schlechte Karten hast: Durch die Session werden schon header-infos an den browser gesendet und schon ist er verwirrt. wenn Du die Session brauchst fällt mir als nothack nur ein, dass pdf in eine Datei schreiben zu lassen (z.B. sessionid.pdf im tmp-Verzeichnis) und dann dieses PDF in einem neuen Fenster aufgehen zu lassen (nicht in gleichem - sobald er da hingeht wäre ja sonst die Session futsch) Musst halt gelegentlich dein tmp-Verzeichnis säubern. -- Mike Beck mikebeck at users.sourceforge.net
php::bar PHP Wiki - Listenarchive