header()-Problem: Datei speichern und Seite trotzdem laden

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

  • header()-Problem: Datei speichern und Seite trotzdem laden

    Hallo!

    Ich habe ein Formular (protokoll.php) gebastelt das beim abschicken eine Verarbeitungsdatei (make_doc.php) aufruft die eine *.doc-Datei aus den Daten im Formular erstellt. Die *.doc-Datei wird auf dem jeweiligen Computer gespeichert.
    In meiner make_doc.php soll noch ein text ausgegeben werden a la "Die Datei wurde erfolgreich gespeichert". Aber die make_doc.php wird im Browser garnicht erst ausgeführt.
    Die *.doc-Datei wird gespeichert und der Browser bleibt bei der protokoll-php.

    Hier mal die Funktion mit der ich die *.doc ausgebe:
    PHP-Code:
    function web2doc($complete_rtf$filename2) {
                
    $web2doc $complete_rtf;
                
    header("Content-type: application/vnd.msword");
                
    header("Content-Disposition: attachment; filename=$filename2");
                
    header("Expires: 0");
                
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
                
    header("Pragma: public");
                print 
    $web2doc;
            }
            
            
    web2doc($complete_rtf$filename2); 
    Kann ich irgendwie über die header()-Funktion angeben, dass die make_doc.php trotzdem geladen werden soll? Also beides gleichzeitig quasi, make_doc.php ausgeben und *.doc-Datei speichern. Geht das?

    Viele Grüße, Sebastian
    www.sebastian-engel.de

  • #2
    imho NOPE, weil du nach dem Download keinen header Location mehr absetzen kannst

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      schau mal, ob folgendes funktioniert:
      Code:
      danke für ihr download
      
      <img src="down.php" alt="" />
      und in down.php startest du den download wie gewohnt.

      Kommentar


      • #4
        Original geschrieben von penizillin
        schau mal, ob folgendes funktioniert:
        Argh ...!

        Könnten wir und wenigstens auf einen Iframe oder ein Object einigen, anstatt ein Bild dafür zu missbrauchen?

        Und einfach per Meta-Refresh auf die Download-Ressource weiterzuleiten, sollte i.d.R. genauso funktionieren.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Original geschrieben von penizillin
          schau mal, ob folgendes funktioniert:
          Code:
          danke für ihr download
          
          <img src="down.php" alt="" />
          und in down.php startest du den download wie gewohnt.
          Mit dieser Methode funktioniert es leider garnicht.

          Und wenn ich per Meta-Refresh auf die down.php leite wird die down.php runtergeladen aber nicht mein erzeugtes *.doc. Die down.php hat ja auch garnicht die zwei erforderilichen Variablen.

          down.php:
          PHP-Code:
          $web2doc $complete_rtf;
          header("Content-type: application/vnd.msword");
          header("Content-Disposition: attachment; filename=$filename2");
          header("Expires: 0");
          header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
          header("Pragma: public");
          print 
          $web2doc
          Mein Meta-Refresh:
          PHP-Code:
          <meta http-equiv="refresh" content="5; URL=down.php" /> 
          Ich muss also der down.php irgendwie $complete_rtf und $filename2 übergeben. Wie mache ich das per Meta-Refresh?
          www.sebastian-engel.de

          Kommentar


          • #6
            Original geschrieben von Juuro
            Ich muss also der down.php irgendwie $complete_rtf und $filename2 übergeben. Wie mache ich das per Meta-Refresh?
            Du hast vielleicht schon mal von GET-Parametern gehört ...?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Original geschrieben von wahsaga
              Du hast vielleicht schon mal von GET-Parametern gehört ...?
              Ja klar, danke! Mit diesem kleinen aber feinen Hinweis hats jetzt geklappt! Vielen Dank!!!
              www.sebastian-engel.de

              Kommentar

              Lädt...
              X