Ankündigung

Einklappen
Keine Ankündigung bisher.

pdf anzeigen

Einklappen

Neue Werbung 2019

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

  • pdf anzeigen

    Hallo,

    habe folgendes Script um PDF Dateien anzuzeigen.

    Dazu öffne ich diese PHP Datei im Neuen Fenster um die
    eigentliche PHP Umgebung noch im Hintergrund
    zu haben.

    Code:
    function showpdf($file , $show) { 
       $size = filesize($file); 
       header("Content-type: application/pdf"); 
       header("Content-disposition: attachment; filename=".$name); 
       header("Content-Length: ".$size); 
       header("Pragma: no-cache"); 
       header("Expires: 0"); 
       readfile($file); 
    }
    $fp=fopen($dateiname,"w");
    flock ($fp,2);
    fputs ($fp,$bdata);
    fclose ($fp);
    showpdf($dateiname,"tmppdf.pdf");
    Das funktioniert auch super.

    Fenster wird geöffnet PDF wird geladen. Acrobat startet
    Datei wird angezeigt.

    Nun wird Acrobat Reader geschlossen und
    das leere Neue Fenster bleibt offen.

    Gibts ne Möglichkeit nur den Acrobat Reader zu öffnen ohne neues Fenster ? Also ohne Headerdateien ?

    Gruss,

    Werner
    * * * * COMMODORE C64 BASIC V2 * * * *
    64K RAM SYSTEM 38911 BASIC BYTES FREE
    READY

  • #2
    Ich vermute mal, dass das durch Content-disposition: attachment zustane kommt.

    Warum schreibst Du die pdf Daten eigentlich erst in eine Datei? Das ist noch überflüssiger als die Anführungszeichen bei echo "$var";
    So wie Du das lock und den temp.Dateinamen anwendest, können immer noch race conditions entstehen.
    Umweg über Datei weglassen, einfach per echo ausgeben.

    Kommentar


    • #3
      Ah,

      leider geht es nicht anders.

      Das Dateispeichern muss sein, da ich
      die Daten aus einem Blobfeld einer Oracle DB hole.

      Also ich Habe die PDF Daten nur in Variable Form vorhanden.
      muss sie also, wenn ich sie mit nem Header anzeigen möchte
      vorher temporär speichern

      Gruss,

      Werner
      * * * * COMMODORE C64 BASIC V2 * * * *
      64K RAM SYSTEM 38911 BASIC BYTES FREE
      READY

      Kommentar


      • #4
        Also ich Habe die PDF Daten nur in Variable Form vorhanden.
        muss sie also, wenn ich sie mit nem Header anzeigen möchte
        vorher temporär speichern
        Quatsch. Mehr fällt mir dazu gerade wirklich nicht ein.

        Kommentar


        • #5
          Quatsch. Mehr fällt mir dazu gerade wirklich nicht ein.
          Wenn einem nichts einfällt sollte man auch nichts sagen !
          * * * * COMMODORE C64 BASIC V2 * * * *
          64K RAM SYSTEM 38911 BASIC BYTES FREE
          READY

          Kommentar


          • #6
            Es ist ja nicht so, dass mir garnichts eingefallen ist. "Quatsch!" ist mir sofort eingefallen. Und auch nach längerem Nachdenken gefällt es noch.
            Im Ernst: Denk doch mal nach. In eine Datei kannst Du die PDF Daten schreiben, aber nicht mit echo ausgeben? Die richtige Antwort lautet: Quatsch!

            Kommentar


            • #7
              Bohhr

              Das ist Typisch dieses Board ....

              Ich schreibe einen Beitrag wie ich Blobs in eine DB schreibe und 100 Leute verlinken auf einen Thred : "Ist es sinnvoll Bilder in eine Datenbank zu schreiben."

              Das will doch keiner wissen!!!

              Und danach habe ich überhaupt nicht gefragt.

              Auch ob ich die Datei vorher speichere oder direkt per echo ausgebe hat nichts mit der Lösung meines Problems zu tun.

              Das leere Fenster bleibt auch dann bestehen.


              Solche :

              Quatsch. Mehr fällt mir dazu gerade wirklich nicht ein.
              Beiträge verbrauchen wirklich nur unnötigen Speicherplatz.

              Sorry war jetzt nicht persönlich gemeit ist mir nur schon zum 100sten mal hier passiert das einer dachte er müsse mich über Sinn und Unsinn meines Quellcodes belehren. Ohne darüber nachzudenken, das es anders herum auch nicht besser ist.

              Gruss,

              Werner
              * * * * COMMODORE C64 BASIC V2 * * * *
              64K RAM SYSTEM 38911 BASIC BYTES FREE
              READY

              Kommentar


              • #8
                Hilfe zum Problem:
                Ich vermute mal, dass das durch Content-disposition: attachment zustane kommt.
                erster Satz überhaupt von mir im Thread; bisher keine Antwort oder weitere Fragen dazu.

                Warum die Dateilösung schlecht ist:
                So wie Du das lock und den temp.Dateinamen anwendest, können immer noch race conditions entstehen.
                bisher keine Antwort oder weitere Frage dazu, ausser:
                Ohne darüber nachzudenken, das es anders herum auch nicht besser ist.
                und das ist leider auch noch falsch.

                Solche :
                Quatsch. Mehr fällt mir dazu gerade wirklich nicht ein.
                Beiträge verbrauchen wirklich nur unnötigen Speicherplatz.
                Lies solche Bemerkungen in Zukunft einfach als "so fundamental falsch, dass mir die Spucke wegbleibt. Denke darüber nach, warum das nicht richtig sein kann".

                Sorry war jetzt nicht persönlich gemeit ist mir nur schon zum 100sten mal hier passiert das einer dachte er müsse mich über Sinn und Unsinn meines Quellcodes belehren.
                Denk mal drüber nach.

                Das ist Typisch dieses Board ....
                Sehe ich eingeschränkt auch so. Das ist typisch ein häufig in diesem Board vertretener Typus Frager.

                Kommentar

                Lädt...
                X