Probleme beim PDF download
Helmut
- php
Hallo,
auf seite.php möchte ich statische PDF-Dateien zum Download
anbieten. Bei Klick auf einen Link
<a href="seite.php?pdfname=$row[pdf]">Diese Datei als PDF downloaden</a
wird die Seite also nochmal aufgerufen, am Ende der Seite steht dieses
Script, das den Download einleiten soll.
<?
if(!$pdfname=="") {
header("Content-type: application/pdf");
header("Content-disposition: attachment; filename='./$pdfname'");
}
?>
Der Downloaddialog startet auch tatsächlich, nur erkennt der Browser (IE5.5)
irgendwie nicht, dass es sich um ein PDF handeln soll. Es wird nicht
der Dateiname *.pdf beim Abspeichern angeboten. Das abgespeicherte
File ist anschliessend nicht lesbar. Ein etwa 90 K grosses PDF wird
auf 8k gequetscht.
Was mache ich falsch? Habt Ihr eine Idee?
Danke
Helmut
Hallo,
Im PHP-Manual http://de.php.net/header gibt es ein paar User-Kommentare zum Thema. Ich hab mich neulich damit beschaeftigt eine sql-Datei zum Download anzubieten und fand das sehr hilfreich.
Meine Loesung hilft Dir vielleicht weiter:
$file = $_GET['file'];
$filesize = filesize($_GET['dir'] . '/' . $file);
$handle = fopen($_GET['dir'] . '/' . $file, 'rb');
$buffer = fread($handle, $filesize);
fclose($handle);
header('Expires: Mon, 26 Jul 2001 05:00:00 GMT');
header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Cache-control: private');
header('Content-type: ' . $_GET['mime']);
header('Content-Length: ' . $filesize);
header('Content-Disposition: attachment; filename=' . $file);
print $buffer;
Dieter