zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > Barrierefreiheit
Seite neu laden URL darstellung

Antwort
 
LinkBack Themen-Optionen Ansicht
  #31 (permalink)  
Alt 21.04.2009, 20:03
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.737
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Hier ein vollständiges Beispiel mit allen nötigen Anweisungen und der Angabe der Orte dieser Anweisungen:
PHP-Code:
<?php

    
// lokaler Dateisystempfad zur PDF-Datei
    
$file '/pfad/zur/pdf-datei';
    
// Dateiname, mit der die Ressource ausgeliefert werden soll
    
$filename 'Dateiname.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;
Die Werte für $file und $filename kannst du natürlich auch dem Skript übergeben beziehungsweise aus einer zusätzlichen Quelle (etwa Datenbank) beziehen.
__________________
Markus Wulftange
Mit Zitat antworten
Sponsored Links
  #32 (permalink)  
Alt 21.04.2009, 20:45
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.11.2005
Beiträge: 1.314
AndreasB wird schon bald berühmt werden
Standard

@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.
__________________

Mit Zitat antworten
Sponsored Links
  #33 (permalink)  
Alt 21.04.2009, 20:48
Benutzerbild von toscho
Perplexifikator
XHTMLforum-Kenner
 
Registriert seit: 22.05.2004
Ort: Halle/Saale
Beiträge: 1.566
toscho sorgt für eine eindrucksvolle Atmosphäretoscho sorgt für eine eindrucksvolle Atmosphäre
Standard

Wieso pappst du HTML-Code an ein PDF-Dokument? Das muß doch schiefgehen.
__________________
toscho.de
Mit Zitat antworten
  #34 (permalink)  
Alt 21.04.2009, 22:12
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.737
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Zitat:
Zitat von Andreas Borutta Beitrag anzeigen
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".
Ich schrieb absoluter Dateisystempfad. Du scheinst aber eher von der Wurzel des Webservers auszugehen, die jedoch nie auch gleichzeitig die Wurzel des Dateisystems ist. In dem Fall müsstest du noch ein $_SERVER['DOCUMENT_ROOT'] voranstellen.
__________________
Markus Wulftange
Mit Zitat antworten
  #35 (permalink)  
Alt 21.04.2009, 22:18
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Nebenbei:

Zitat:
"... konnte nicht geöffnet werden, da der Dateityp nicht unterstützt wird oder die Datei beschädigt ist".
der AR zickt öfter wenn das nicht binär ausgeliefert wird (im Textmode wird
halt manchmal aus einem LF ein CRLF etc.). Die Adobe-Fehlermeldungen sind
leider traditionell hahnebüchener Unsinn.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #36 (permalink)  
Alt 21.04.2009, 22:29
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.11.2005
Beiträge: 1.314
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von toscho Beitrag anzeigen
Wieso pappst du HTML-Code an ein PDF-Dokument? Das muß doch schiefgehen.
Das ist einHTML-Dokument mit vorangestelltem PHP-Skript.
__________________

Mit Zitat antworten
  #37 (permalink)  
Alt 21.04.2009, 22:44
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.11.2005
Beiträge: 1.314
AndreasB wird schon bald berühmt werden
Standard

Zitat:
Zitat von Gumbo Beitrag anzeigen
Ich schrieb absoluter Dateisystempfad. Du scheinst aber eher von der Wurzel des Webservers auszugehen, die jedoch nie auch gleichzeitig die Wurzel des Dateisystems ist. In dem Fall müsstest du noch ein $_SERVER['DOCUMENT_ROOT'] voranstellen.
Es ist besser, wir brechen an dieser Stelle ab. Mir fehlt schlicht die Erfahrung mit serverseitigen Techniken. Ich verstehe von den meisten Postings hier nur "Bahnhof".

Bisher ist nichtmal klar, ob wir beide überhaupt über dasselbe Ziel sprechen.
Es ist zu zäh. Ich möchte hier niemanden weiter mit Rückfragen nerven.

Danke an alle Beteiligten bis hierher für alle Kommentare.
__________________

Mit Zitat antworten
  #38 (permalink)  
Alt 21.04.2009, 23:42
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.737
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Die Lösung:
PHP-Code:
// dem
$file '/+temp/html/test/index.pdf';
// wird $_SERVER['DOCUMENT_ROOT'] vorangestellt:
$file $_SERVER['DOCUMENT_ROOT'].'/+temp/html/test/index.pdf'
Und das anschließenden HTML-Code kannst du löschen. Du kannst nämlich nicht zwei Inhaltstypen (PDF und HTML) mischen, da sonst das eine als das andere interpretiert wird. Entweder PDF als HTML oder (wie hier) HTML als PDF.
__________________
Markus Wulftange
Mit Zitat antworten
  #39 (permalink)  
Alt 09.05.2009, 09:49
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.11.2005
Beiträge: 1.314
AndreasB wird schon bald berühmt werden
Standard

Doch nochmal ein Versuch der Klärung:
Ich vermute, dass wir uns beim Ziel noch missverstehen.

Das PDF wird nicht generiert. Es wurde manuell erzeugt und liegt statisch auf dem Server.

Ich bin mit dem genauen technischen Ablauf in Bezug auf HTTP-Header, also wer was wann wieso liefert und an welcher Stelle der Nutzer davon etwas mitbekommt, nicht vertraut.

Vermutlich ist das, was mir vorschwebte gar nicht möglich.
Denn dafür müsste zwingend eine Zuordnung eines URLs und eines Dateinamens stattfinden.

Der Zustand auf dem Server:

Datei 1: /pdf/fz-ausgabe-8-saeuglingstransport.pdf
(Document_Root der Third-Level-Domain "pdf" ist also "/pdf")

Datei 2: /main/8/saeuglingstransport/index.php
(Document_Root der Second-Level-Domain "fahrradzukunft" ist "/main")
HTML-Code:
<body>...<a href="http://pdf.fahrradzukunft.de/8/saeuglingstransport/">PDF-Version der Ausgabe 8</a>...</body>
Wenn der Nutzer diesen Link aufruft, soll genau dieser URL in seiner Adresszeile erscheinen.
In seinem PDF-Client, der das Dokument anzeigt, soll beim Speichern jedoch der Name "fz-ausgabe-8-saeuglingstransport.pdf" vorgeschlagen werden.

Ist jetzt das Ziel klarer geworden?
__________________

Mit Zitat antworten
Sponsored Links
  #40 (permalink)  
Alt 09.05.2009, 10:04
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Zitat:
Zitat von Andreas Borutta Beitrag anzeigen
Ist jetzt das Ziel klarer geworden?
Nein.

Einen PDF-Client kenne ich nicht. In der Adresszeile des Browsers steht
bestenfalls das war er per Link aufruft (selbst das ist nicht sicher). Was dann
zurückgeht entscheidet der Server.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Darstellungsprobleme im IE lea11011989 CSS 17 05.11.2010 09:44
span und div Inhalte werden nicht angezeigt pelgro CSS 15 01.06.2010 18:46
Frage zu horizontalen Linien marvin1989 CSS 3 29.12.2009 23:35
Problem mit Layout .. vermute: float Küspert CSS 3 09.12.2006 17:09
Bilder werden überlagert und verschoben. Küspert CSS 5 07.12.2006 17:15


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:12 Uhr.