Problem mit Readfile

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

  • Problem mit Readfile

    Hallo miteinander,

    folgendes Problem:
    ich realisiere eine PHP-Downloadfunktion mit readfile, leider kommt beim Aufruf kein "Datei speicher unter" sondern er liesst die Datei im Browser aus

    Hier der Code:
    PHP-Code:
    header("Content-Type: application/octet-stream");
    $save_as_name $row->dateiname;
    header("Content-Disposition: attachment; filename=\"".$save_as_name."\"");

                            if(
    file_exists($row->ordner.$row->dateiname))
    {
        
    readfile("$row->ordner.$row->dateiname");
    }
    else
    {
        echo 
    "Fehlermeldung";

    Bitte um Hilfe!

  • #2
    und vor diesem code gibt es bereits eine ausgabe?

    Kommentar


    • #3
      es handelt sich dabei um eine funktion, eine ausgabe ist nicht davor ...

      Kommentar


      • #4
        d.h. es wurde kein einziges echo vorher ausgeführt bzw. es wurde nirgendwo vorher html-code auf der seite ausgegeben? kannst du mittels livehttpheaders o.ä. überprüfen, welche header _dann_ an den client gesendet werden?

        p.s. überlege dir, ob es nicht sinnvoller wäre, die header() im if-block abzusenden. wenn du zum entschluß kommst, dass nicht, so erkläre bitte deine überlegung.

        Kommentar


        • #5
          welche zeile ist da für dich relevant?

          Kommentar


          • #6
            und ggf. noch ein
            PHP-Code:
            header("Content-Type: application/force-download"); 
            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              für mich persönlich jetzt? keine einzige. und für dich?

              Kommentar


              • #8
                für mich persönlich jetzt? keine einzige. und für dich?

                Kommentar


                • #9
                  Hat leider auch nichts gebracht, die frage ist, was beim liveheaderdings dastehn muss/sollteund was auf keinen fall?

                  Es muss ja ein Grund geben, warum er die .exe datei ausliesst statt zum download ...

                  dachte mit:

                  header('Content-Type: application/octet-stream' );

                  erzwingt man das?!

                  Kommentar


                  • #10
                    ich würde dem liveheaderdings eiskalt unterstellen, dass es zeigen würde, dass du in wirklichkeit text/html an den client sendest. das wäre falsch. und dann würde ich dich auf das gleiche hinweisen, was bereits erwähnt wurde.

                    Kommentar


                    • #11
                      http://**********/?Modul=DDL&ID=1

                      GET /?Modul=DDL&ID=1 HTTP/1.1
                      Host: ********************
                      User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
                      Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
                      Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
                      Accept-Encoding: gzip,deflate
                      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
                      Keep-Alive: 300
                      Connection: keep-alive
                      Referer: ***************/?Modul=Downloads
                      Cookie: PHPSESSID=77fdb96a12bb76dbdb20eb05258b5d57
                      Authorization: Basic SXBjcmVzczoxMjM0NTY3

                      HTTP/1.x 200 OK
                      Date: Thu, 07 Dec 2006 18:08:40 GMT
                      Server: Apache/1.3.33 (Unix)
                      Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
                      Expires: Thu, 19 Nov 1981 08:52:00 GMT
                      Pragma: no-cache
                      X-Powered-By: PHP/4.4.4
                      Keep-Alive: timeout=2, max=200
                      Connection: Keep-Alive
                      Transfer-Encoding: chunked
                      Content-Type: text/html
                      ----------------------------------------------------------
                      http://guest2.meebo.org/mm?1165514902296850

                      POST /mm?1165514902296850 HTTP/1.1
                      Host: guest2.meebo.org
                      User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
                      Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
                      Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
                      Accept-Encoding: gzip,deflate
                      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
                      Keep-Alive: 300
                      Connection: keep-alive
                      Referer: http://widget.meebo.com/mm.swf?yhTdHTTFWU
                      Content-type: text/xml
                      Content-length: 93

                      <body sid="35922174448665302" rid="6440557111" xmlns="http://jabber.org/protocol/httpbind" />
                      HTTP/1.x 200 OK
                      Content-Type: text/xml
                      Content-Length: 51
                      Date: Thu, 07 Dec 2006 18:08:44 GMT
                      Server: lighttpd/1.4.11
                      ----------------------------------------------------------


                      Das erfolgt, aber was muss ich anders machen?! Als der oben angegebene Code? Habe es auch mit anderen MimeTypen versucht, fehlanzeige

                      Kommentar


                      • #12
                        also gibt es doch einen grund, warum text/xml an den client gesendet wird? ich muss mich wiederholen.

                        Kommentar


                        • #13
                          danke habs hinbekommen!

                          Hättest du erwähnt, dass (X)HTML Contents höhere Priorität haben, wäre es leichter gewesen :P Hab jetzt den Funktionsaufruf in eine reine PHP-Datei gepackt und funktioniert!

                          Aber dennoch! Danke für den Tipp mit LiveHTTPheaders ...

                          Kommentar


                          • #14
                            Hättest du erwähnt, dass (X)HTML Contents höhere Priorität haben ...
                            ..., so hätte ich unfug behauptet. eine _beliebige_ datei wird von oben nach unten abgearbeitet und sobald es geht an den client geschickt. dass dein html-kram auch eine ausgabe bildet, habe ich dir ebenfalls gesagt.

                            Kommentar

                            Lädt...
                            X