FPDF Steh voll auf dem Schlauch

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

  • FPDF Steh voll auf dem Schlauch

    Hab mal wieder seit 7 Stunden ein tolles Probem.
    Ich erzeuge PDF Dateien mit FPDF.
    Ich habe mehrere PDF Dateien die diese erzeugen. Rechnungen, Angebote und auch Aufträge.
    Rechnungen und Angebote gehen wunderbar nur Aufträge will er mir nicht aufmachen. Habe den Code schon von Rechnungen kopiert, alles rausgenommen und nur eine PDF Datei erzeugen wollen - nix. Ich werd bald Wahnsinnig mit dem Mist... Nun zum eigentlichen Teil...
    Folgender Code ist in der PHP Datei die aufgerufen wird:
    PHP-Code:
    <?
    ini_set('display_errors', 'on');
    error_reporting(E_ALL | E_STRICT);
    require('fpdf/fpdf.php');
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',16);
    $pdf->Cell(40,10,'Hello World!');
    $pdf->Output();
    ob_end_flush(); 
    ?>
    Diese Seite wir mit einer normalen <a href= .. Anweisung in einem neuen Fenster geöffnet und soll einfach eine PDF Datei erzeugen....
    Macht es aber nicht..
    Die fpdf.php ist vorhanden ( sonst würde da ein Fehler stehen )
    Ich bekomme aber seit Stunden nur:
    PHP-Code:
    Fatal errorUncaught exception 'Exception' with message 'FPDF error: Some data has already been output, can't send PDF file' in /var/www/k103238web/htdocs/www.zwpc.de/admin/fpdf/fpdf.php:271 Stack trace: #0 /var/www/k103238web/htdocs/www.zwpc.de/admin/fpdf/fpdf.php(1063): FPDF->Error('Some data has a...') #1 /var/www/k103238web/htdocs/www.zwpc.de/admin/fpdf/fpdf.php(999): FPDF->_checkoutput() #2 /var/www/k103238web/htdocs/www.zwpc.de/admin/seiten/auf_pdf.php(9): FPDF->Output() #3 /var/www/k103238web/htdocs/www.zwpc.de/admin/index.php(90): include('/var/www/k10323...') #4 {main} thrown in /var/www/k103238web/htdocs/www.zwpc.de/admin/fpdf/fpdf.php on line 271 

    Bitte, bitte - kann mir jemand auf die Sprünge helfen ??
    P.S. Ja ich habe nach dem Fehler gegoogled !

  • #2
    Guck mal, ob deine Quellcodedatei eine Byte-Order-Mark enthält. (Im Zweifel mit einem Hexeditor.)

    - https://de.wikipedia.org/wiki/Byte_Order_Mark

    Falls ja, muss die raus. (In der Regel eine Editor-Einstellung.)

    Kommentar


    • #3
      re

      Negativ
      Notepad++ ->Kodierung->UTF8 ohne BOM
      Habe auch schon gelöscht und neu angelegt...
      Komisch das alle anderen gehen nur diese eine nicht...

      Kommentar


      • #4
        Dann guck mal, ob in der Ausgabe vor der Fehlermeldung was steht.

        Vielleicht reicht es dazu schon, die $pdf->Output();-Zeile auszukommentieren.

        Ansonsten würde ich die Rückgabe als Datei speichern und im Zweifel mit einem Hexeditor betrachten, falls nichts Offensichtliches zu sehen ist.

        Kommentar


        • #5
          re

          PHP-Code:
          <b>Fatal error</b>:  Uncaught exception 'Exception' with message 'FPDF error: Some data has already been output, can't send PDF file' in /var/www/k103238web/htdocs/xxxxx/fpdf/fpdf.php:271
          Stack trace:
          #0 /var/www/k103238web/xxxxx/fpdf/fpdf.php(1063): FPDF-&gt;Error('
          Some data has a...')
          #1 /var/www/k103238web/xxxxx/fpdf/fpdf.php(999): FPDF-&gt;_checkoutput()
          #2 /var/www/k103238web/xxxxx/seiten/auf_pdf.php(7): FPDF-&gt;Output()
          #3 /var/www/k103238web/xxxxx/index.php(90): include('
          /var/www/k10323...')
          #4 {main}
            thrown in <b>/var/www/k103238web/xxxxx/fpdf/fpdf.php</b> on line <b>271</b><br /> 
          Wie soll er denn ohne Output() die PDF ausgeben ?

          Kommentar


          • #6
            Zitat von thommy1972de Beitrag anzeigen
            Wie soll er denn ohne Output() die PDF ausgeben ?
            Gar nicht. Aber wie willst du sonst rausfinden, ob nicht was anderes ausgegeben wird?

            Kommentar


            • #7
              re

              Das ist ja das hüpfende Komma. Ohne Output() wird garnichts ausgegeben. Mit wenigstens noch eine Fehlermeldung ^^
              Ich werde das ganze wohl in einem Popup mit PHP aufmachen und mit einem PDF Drucker ausdrucken. Langsam nervt mich der Mist...
              Trotzdem Danke.

              Kommentar


              • #8
                Zitat von thommy1972de Beitrag anzeigen
                Das ist ja das hüpfende Komma. Ohne Output() wird garnichts ausgegeben.
                Sicher? Wie hast du das festgestellt? Ist die Ausgabe 0 Byte groß?

                Kommentar


                • #9
                  re

                  Langsam glaube ich es liegt eher an fpdf.php als an mir..
                  Wenn ich die Datei xxx.php direkt aufrufe erhalte ich den Fehler 500.
                  Mache ich eine echo davor:
                  PHP-Code:
                  <?
                  echo "fest";
                  require'fpdf/fpdf.php';
                  $pdf = new FPDF();
                  $pdf->AddPage();
                  $pdf->SetFont('Arial','B',16);
                  $pdf->Cell(40,10,'Hello World!');
                  $pdf->Output('I');
                  ?>
                  gibt er mir "fest" aus...

                  Kommentar


                  • #10
                    Bitte beantworte meine Frage.

                    Und das schließende PHP-Tag am Ende (?>) solltest du übrigens immer weg lassen.

                    Kommentar


                    • #11
                      re

                      Nein die Datei ist natürlich nicht 0 Byte gross...

                      Kommentar


                      • #12
                        Zitat von thommy1972de Beitrag anzeigen
                        Nein die Datei ist natürlich nicht 0 Byte gross...
                        Was heißt "die Datei"? Ich rede von der Ausgabe, die der Browser erhält. Diese muss 0 Byte groß sein, ansonsten gibst du irgendwo etwas aus, das da nicht hingehört.

                        Kommentar


                        • #13
                          Es steht nichts da. Auch im Quelltext nichts (ausser die 1 oben links)

                          Kommentar


                          • #14
                            Nur weil du nichts siehst, heißt das nicht, das nichts da ist.

                            Die Ausgabe sollte 0 Byte groß sein.

                            Wenn ich testweise einen UTF-8 BOM ausgebe, erhalte ich folgendes:

                            Hier der Testcode dazu:

                            PHP-Code:
                            <?php

                            echo "\xEF\xBB\xBF";
                            Zuletzt geändert von h3ll; 26.05.2016, 18:53.

                            Kommentar


                            • #15


                              Ohne alles ist sie 0 und 0 Byte
                              Die beiden anderen Dateien binde ich exakt genauso ein und die ja gehen... Nur die eine nicht...
                              Zuletzt geändert von thommy1972de; 26.05.2016, 19:04.

                              Kommentar

                              Lädt...
                              X