Binary data als pdf ausgeben??!

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

  • Binary data als pdf ausgeben??!

    Hallo,

    bin langsam am verzweifeln....

    Folgendes Problem:

    Muss mittels php-skript aus einer ms sql 2005 express pdf's auslesen und im Browser anzeigen lassen....

    Der Zugriff und das Einlesen des Datenfeldes in eine php-Variable gelingt ja noch...aber wie dekodier ich das Ergebnis des sql-queries?

    [Bsp: bei postgres gibt's pg_escape_bytea() ]


    In der mssql - Refernz find ich sowas nicht wirklich...


    Bekomme dann als Ausgabe vom Broswer ..dies ist eine beschädigte Datei...


    Hier das Code-Beispiel:
    PHP-Code:
    $con mssql_connect($s$u$pw) or die ("Keine Verbindung MSSQL Server");
    mssql_select_db($db) or die ("Keine Datenbank gefunden");

    $result mssql_query($query);
    $data mssql_result($result,0,$field);
        
    //==> hier muss irgendwas zum dekodieren hin...aber was?!
    //==> $pdf = pg_escape_bytea($data);

    //in Datei schreiben
    $handle fopen ($ausgeben'wb+');
    fwrite($handle,$pdf);  
    fclose($handle);

    // Ergebnis im Browser als pdf anzeigen...
    header('Content-Type: application/pdf');
    $datei readfile($ausgeben); 
    fopen($datei); 
    Hoffe es kann mir hier jemand weiterhelfen...

  • #2
    dein "dateigegurke" ist nicht nur überflüssig sondern auch noch falsch - lass das mal alles weg! und dann am ende einfach:
    PHP-Code:
    header('Content-Type: application/pdf');
    echo 
    $data// und nicht $pdf
    exit; 

    Kommentar


    • #3
      ...leider ist des nicht die Lösung....hatte diesen einfachen Ansatz auch schonmal ausprobiert und jetzt nochmal ....aber dann kommt die Meldung vom Adobe Reader:

      Diese Datei ist beschädigt und kann nicht repariert werden.


      ..und sie ist definitiv nicht beschädigt!

      Kommentar


      • #4
        Original geschrieben von cos4kai
        ..und sie ist definitiv nicht beschädigt!
        sagen wir so, sie war nicht beschädigt.

        stellt sich die frage, wie kommen die daten überhaupt in die datenbank rein?

        dann würde ich untersuchen - wie sehen die daten vor dem eintragen, nach dem eintragen, also in der datenbank und nach dem auslesen aus - und ob es da jeweils unterschiede gibt.

        also quasi brauchbare informationen sammeln und liefern.

        Kommentar


        • #5
          ...so Problem gelöst:

          Der php-Default-Wert für die text-size von mssql-Feldern beträgt 4096 Byte...hab die Werte nun in der php-ini manuell gesetzt und siehe da:

          Skript funktioniert einwandfrei und die pdf-Datei wird korrekt im Browser angezeigt!

          Kommentar

          Lädt...
          X