Ankündigung

Einklappen
Keine Ankündigung bisher.

PDF anzeigen / auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDF anzeigen / auslesen

    Hi,

    ...ich möchte eine PDF Datei mit PHP "auslesen" bzw. anzeigen (im Acrobat Reader)

    Das Problem ist, dass ich IFRAME nicht verwenden kann, da der Aufruf einer PDF Datei durch eine htaccess-Datei auf eine PHP Datei umgeleitet wird. Dort wird geprüft, ob der Benutzer die Berechtigung hat (Sessions) und dann soll er das PDF angezeigt bekommen oder nicht.

    Bei allen anderen Dateiformaten ist das kein Problem, nur bei PDF geht es aus irgendeinem Grund nicht:

    PHP-Code:
    <?
    header("Content-Type: application/pdf");
    readfile("http://www.domain.de/test.pdf");
    ?>
    Wie gehts ? Bin echt ratlos und für jeden Tipp sehr dankbar !

    Basti

  • #2
    http://de2.php.net/manual/de/function.readfile.php
    http://de2.php.net/manual/de/function.header.php

    PHP-Code:
    <? 
    header("Content-Type: application/pdf"); 
    readfile("test.pdf"); 
    ?>
    www.webdeveloperfactory.de - Der Blog und Ratgeber für Webentwickler mit zahlreichen Informationen

    Kommentar


    • #3
      Bin schon etwas weiter gekommen,

      das Problem hat sich jetzt dahin verschoben, dass ich in der htaccess datei mittels Rewrite zw. pdf und allen anderen Dateiendungen unterscheiden muss

      Das geht nicht:
      Code:
      RewriteEngine on
      Options FollowSymLinks
      RewriteRule .*\.pdf http://www.domain.de/check_pdf.php
      RewriteRule .*\..* http://www.domain.de/check.php
      Basti

      PS: Natürlich ohne [url] tags

      Kommentar


      • #4
        Ich weiß es nicht genau, vielleicht ist bei deinem unteren nen . zuviel oder da kommen ( ) rum.

        Schau dir folgendes mal an:

        http://www.php-faq.de/q/q-datei-download.html
        www.webdeveloperfactory.de - Der Blog und Ratgeber für Webentwickler mit zahlreichen Informationen

        Kommentar


        • #5
          Also, die htaccess-Datei funktioniert jetzt *g*

          Code:
          RewriteEngine on
          Options FollowSymLinks
          RewriteRule ^[^/]*\.pdf$ http://www.domain.de/check_pdf.php [NC]
          RewriteRule ^[^/]*\.*$ http://www.domain.de/check.php [NC]
          Nun habe ich wieder mit dem PHP-Aufruf Probleme.
          Folgendes Script fumnktioniert nicht, obwohl die URL (Wenn ich es ausgeben lasse) exakt stimmt.
          Ich vermute, dass da irgendwelche Anführungsstriche o.Ä. nicht stimmen

          Code:
          <?php
          header("Content-Type: application/pdf");
          readfile("http://www.domain.de".$_SERVER['REQUEST_URI']);
          ?>
          Aber das hier, geht auch nicht:
          Code:
          $fname = "http://www.domain.de";
          $fname .= $_SERVER['REQUEST_URI'];
          readfile($fname);
          Bin wie immer für alle Tipps dankbar

          Basti


          PS: Hab das eben mal geprüft, Übertragen wird eine 0 Byte große PDF Datei ! (bei beiden PHP Codes)

          Kommentar


          • #6
            Re: PDF anzeigen / auslesen

            Zitat von Basti2003
            ...ich möchte eine PDF Datei mit PHP "auslesen" bzw. anzeigen (im Acrobat Reader)
            usw.

            Das mal angucken:
            http://test.php-help.info/download-1/ (Quelltext wird angezeigt)

            Das Problem mit dem rewrite würde ich anders lösen:

            [php]<?php
            printf('handbuch.pdf',
            SID);

            /pdf/index.php
            PHP-Code:
            <?php
            @session_start();
            # auswertung, ob User File saugen darf
            # wenn nicht, meckern.

            $_SERVER['PATH_INFO'] = basename($_SERVER['PATH_INFO']);

            $pdf_verzeichnis '/path/to/pdf/'# oberhalb des Documentroot, damit keiner direkt rankommt

            if (! is_readable($pdf_verzeichnis $_SERVER['PATH_INFO']))
            {
            # meckern: file nicht vorhanden
            die ();
            }

            header('Content-Type: application/octet-stream'); 
            header(sprintf('Content-Disposition: attachment; filename="%s"'$_SERVER['PATH_INFO'])); 
            header('Pragma: no-cache'); 
            header('Expires: 0'); 
            readfile($pdf_verzeichnis $_SERVER['PATH_INFO']); 

            ?>

            Kommentar

            Lädt...
            X