@markus
Erstmal herzlichen Dank für das Schreiben des Beispielcodes.
Ich habe es ausprobiert, wende es aber offensichtlich falsch an.
Es gibt das Dokument
http://borumat.de/+temp/html/test/index.pdf
Dann habe ich eine Testdatei angelegt, die den Skriptcode von Dir enthält.
http://borumat.de/+temp/html/pdf-url-http-header-skript
HTML-Code:
<?php
// lokaler Dateisystempfad zur PDF-Datei
$file = '/+temp/html/test/index.pdf';
// Dateiname, mit der die Ressource ausgeliefert werden soll
$filename = 'temp-html-test.pdf';
// Hilfsfunktion zum Kodieren des filename-Attributwerts (siehe RFC 2822)
function rfc2822_quoteString($string)
{
return preg_replace('/[^\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]/', '\\\\$0', $string);
}
// Inhaltstypen bestimmen
header('Content-Type: application/pdf');
// Inhalts-Disposition (inline/attachment)
header('Content-Disposition: inline;filename="'. rfc2822_quoteString($filename).'"');
// Dateiinhalt wird gelesen und ausgegeben
readfile($file);
// Skript wird explizit beendet, damit keine zusätzlichen Ausgaben die Daten korrumpieren
exit; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="de" xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p>Lorem ipsum <a href="/+temp/html/test/">/+temp/html/test/</a> sit amet.</p>
</body>
</html>
Das Aufrufen dieser Seite misslingt. Beim Aufruf wird Adobe-Reader geöffnet und es erscheint eine Fehlermeldung:
"... konnte nicht geöffnet werden, da der Dateityp nicht unterstützt wird oder die Datei beschädigt ist".
Sorry, ich stehe offenbar auf der Leitung. Mir ist immer noch nicht klar, wie das ganze Verfahren ablaufen soll.