Open/Save Dialog erzwingen

eVolver

Angesehenes Mitglied
Ich arbeite an einem Projekt, wo PDFs on-the-fly generiert werden.
Nach dem erzeugen eines PDF Files, möchte ich den User auffordern,
dieses zu öffnen oder zu downloaden. Ich habe folgenden Code auf php.net
gefunden und ausprobiert:

CODE
<?php
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('original.pdf');
?>


Jedoch funktioniert das im IE nicht richtig. Es wird zwar ein Open/Save Dialog
angezeigt. Save funktioniert perfekt, wenn ich jedoch Open wähle, wird der Dialog
ein zweites mal angezeigt. Wenn ich dann wieder auf Open klicke versucht Acrobat irgend ein File zu öffnen dass es gar nicht gibt. Ich hab auf PHP.net gelesen, dass
es bekannt sei, dass IE diese Probleme verursacht. Ich hab die ganzen Comments
durchgelesen und ein paar angebliche Workarounds ausprobiert, immer mit dem selben Ergebnis oder noch schlimmer (machmal wird der Source des PDFs im Browser angezeigt
rolleyes.gif
).

Hat jemand von Euch ein Universal-Download-Script das was taugt???
Hab schon gegoogled...mit mässigem Erfolg
mad.gif
 
Hallo

Damit hab ich auch mal gekämpft. Wenn ich richtig gesucht habe, ist folgendes unsere aktuelle Lösung:CODE
$fp=fopen($filename, "rb");
if(strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
$ART___CAPTION = preg_replace('/\./', '%2e', $ART___CAPTION,
substr_count($ART___CAPTION, '.') - 1);
}

header("Content-type: $content_type");
header("Content-length: ".filesize($filename));
header("Content-Disposition: $disposition; filename=\"$ART___CAPTION\"");

fpassthru($fp);
fclose($fp);


Augenmerk auf der If mit dem MSIE, der Rest ist zu deinem Code identisch....vielleicht hift dir das weiter

Gruss
Roger
 
ich suche auch sowas in der art, und zwar möchte ich verschiedene dateien downloaden lassen können, bei welchen der benutzer nicht rausfinden kann, wo diese dateien sich wirklich befinden! also so eine art daten-strom, der von einer php file kommt, und der benutzer nicht sieht, woher die php file die daten nimmt...
 
Zurück
Oben