kein download mit IE

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

  • kein download mit IE

    moin!

    ich möchte ein backup einer mysql-datenbank machen, indem ich den inhalt in einer textdatei speichere und auf meinen rechner runterlade. dies klappt mit mozilla auch hervorragend. nur der internet explorer hält sich da zurück:

    1. wird der dateiname nicht angezeigt
    2. es erscheint eine fehlermeldung, dass die datei nicht runtergeladen werden kann.

    ich gehe mal davon aus, dass ich die header nicht richtig angegeben habe. ich wäre froh, wenn mir jemand helfen könnte. folgendes steht bei mir im skript:

    PHP-Code:
    $dateiname date("Y-m-d H:i");

    $now gmdate('D, d M Y H:i:s') . ' GMT';

    header('Content-Type: application/octetstream');
    header('Expires: ' $now);
    header('Content-Disposition: attachment; filename="'$dateiname '.sql"');
    header('Pragma: no-cache'); 

    streicher

  • #2
    PHP-Code:
    $dateiname date("Y-m-d H:i");
    $now gmdate('D, d M Y H:i:s') . ' GMT';
    header('Content-Type: application/octetstream');
    header('Expires: ' $now);
    header('Content-Disposition: attachment; filename="'$dateiname '.sql"');
    header('Pragma: no-cache'); 
    wenn danach nix mehr kommt, kann er auch keine datei
    ausgeben.

    wenn du die datei auf der platte liegen hast, dann versuchs mal so:
    PHP-Code:
    // fopen, einlesen in var $datei packen

    $dateiname date("Y-m-d H:i");
    $now gmdate('D, d M Y H:i:s') . ' GMT';
    header('Content-Type: application/octetstream');
    header('Expires: ' $now);
    header('Content-Disposition: attachment; filename="'$dateiname '.sql"');
    header('Pragma: no-cache');
    // ausgeben:
    echo $datei
    Kissolino.com

    Kommentar


    • #3
      PHP-Code:
      header('Content-Type: text/plain'); //is doch ne textdatei oder?
      header('Expires: -1');
      header('Content-Disposition: attachment; filename=dateiname.sql'); //Dateiname ohne Anführungszeichen
      header('Pragma: no-cache'); 
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        gute nacht!

        danke für die schnellen antworten! komme leider jetzt erst dazu darauf zu antworten.

        wenn danach nix mehr kommt, kann er auch keine datei
        ausgeben.
        BINGO!!! nur kommt danach der befehl, der die datei erzeugt. wollte nur nicht das gesamte skript posten, da ich mir sicher bin, das es an den headern liegt (im mozilla funktioniert es einwandfrei)! auch liegt die datei nicht bei mir auf dem rechner. es handelt sich um eine datenbank, auf die ich nur übers internet zugriff habe und deren inhalt ich sichern lassen möchte. auch wundere ich mich darüber, dass es
        PHP-Code:
        header('Content-Type: text/plain'); 
        heissen soll und nicht
        PHP-Code:
        header('Content-Type: application/octetstream'); 
        beim durchforsten des forums bin ich nämlich immer auf den obigen header gestossen, wenn es darum ging, den inhalt einer db als textdatei speichern zu lassen. habe mir auch mal die 'tbl_dump.php' aus phpMyAdmin angeschaut, der header der dort benutzt wird ist doch quasi identisch

        streicher

        Kommentar


        • #5
          Original geschrieben von streicher
          habe mir auch mal die 'tbl_dump.php' aus phpMyAdmin angeschaut, der header der dort benutzt wird ist doch quasi identisch
          sicher?

          phpmyadmin prüft meiner meinung nach, ob es ein IE is oder nich
          PHP-Code:
          //IE
          header('Content-Disposition: inline; filename="' $filename '.' $ext '"');
          header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
          header('Pragma: public');
          //Nicht IE
          header('Content-Disposition: attachment; filename="' $filename '.' $ext '"');
          header('Pragma: no-cache'); 
          mit dem application/octetstream hast du allerdings recht
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            falls es jemand interessiert bzw. die oben genannten schnipsel nutzen möchte und probleme mit diesen hat:

            folgendes kann (jedenfalls auf windows-systemen) zu problemen führen
            PHP-Code:
            $now gmdate('D, d M Y H:i:s') . ' GMT'
            windows unterstützt keine doppelpunkte in datei- bzw. ordnernamen! somit macht dies mehr sinn:
            PHP-Code:
            $now gmdate('D, d M Y H-i-s') . ' GMT'
            viel spass

            Kommentar


            • #7
              Und es heisst normalerweise octet-stream mit - ?

              Kommentar


              • #8
                octet-stream ... oder octetstream ... eigentlich kommt's lediglich drauf an 'nen Content-Type zu senden für den der Browser keine Application zu Darstellung kennt ... vom Prinzip sollte auch ein "application/x-wurstpellenmarmelade" funktionieren ...

                Der Kern liegt aber wohl im unterschiedlichen Content-Disposition-Header für IE und andere ... wie "Happy" schon erwähnt hat wir für den IE ein inline, für alle anderen ein attachment gesendet:

                phpMyAdmin:
                PHP-Code:
                if (PMA_USR_BROWSER_AGENT == 'IE') {
                    
                header('Content-Disposition: inline; filename="' $filename '.' $ext '"');
                    
                header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
                    
                header('Pragma: public');
                } else {
                    
                header('Content-Disposition: attachment; filename="' $filename '.' $ext '"');
                    
                header('Pragma: no-cache');

                Der Content-Type muß natürlich auch noch ...
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar

                Lädt...
                X