Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Download

Einklappen

Neue Werbung 2019

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

  • Problem mit Download

    Hallo,
    hier ein kleiner Ausschnitt aus meinem Code

    PHP-Code:
     if($row->Check==$check) { 
      
    header('Content-Disposition: attachment; filename="kr.exe"');
      
    readfile('secure/kr.exe');
     } 
    Die Datei auf dem Server ist 748 KB groß
    Allerdings kommen beim Client nur 96kb an.
    Die Datei wird mittendrin aufeinmal "Abgeschnitten"

    Was mache ich falsch?

    Thx4help,
    Smily0412

  • #2
    Ich kann an der Stelle nur sagen (der Reihe nach)

    1. Check ist gleich $check (ist schonmal nett)
    2. Du sendest einen header
    3. Du liest eine exe-Datei


    Was soll uns das sagen?

    Kommentar


    • #3
      Zitat von KingCrunch
      Ich kann an der Stelle nur sagen (der Reihe nach)

      1. Check ist gleich $check (ist schonmal nett)
      Und eine etwas qualifiziertere Aussage wäre dann?

      Ist es für Dich vollkommen unvorstellbar, den Inhalt zweier Variablen zu vergleichen?

      Da immerhin überhaupt etwas ausgegeben wird, wird der Vergleich wohl sogar positiv ausgefallen sein.

      Zitat von KingCrunch
      2. Du sendest einen header
      Unglaublich! SKANDAAAAAL
      Ich hab mal gehört, das wäre gängige Praxis, wenn man einen Dateinamen angeben will.
      Vielleicht sollte man noch einen Header hinterher schicken, wo die Länge des Inhalts angegeben ist.

      Zitat von KingCrunch
      3. Du liest eine exe-Datei
      Und viel wichtiger: Er gibt die exe-Datei auch noch in den Ausgabepuffer aus.
      Also genau das, was man so haben will.

      Zitat von KingCrunch
      Was soll uns das sagen?
      Was wolltest Du gleich nochmal sagen?
      Dass Du um 5 Uhr morgens lieber keine Postings schreiben solltest?

      Kommentar


      • #4
        Was wolltest Du gleich nochmal sagen?
        Dass Du um 5 Uhr morgens lieber keine Postings schreiben solltest?
        Ähm ... Joa, is nich ganz fern... ^^

        Mein Gedanke war aber, dass ich 4 Zeilen sehe, die so natürlich vollkommen korrekt sind, und ich mich frage, wie man so einen Fehler finden soll ^^ Naja, ignorierts

        Andere Sache: Was stehtn in den 96kb?

        Kommentar


        • #5
          Die 96 KB sind die Ersten 96 KB der Datei, welche eigentlich geschickt werden sollte

          Ich habs übrigens gerade mal test halber versucht die Datei mit einem kleinen Selbst geschriebenen Client zu empfangen.
          Die Datei kommt eigentlich auch komplett an. Also scheint FF den Download zwischendrin einfach abzubrechen.

          Wie kann ich es mittels Header übergeben, wie groß die Datei sein soll?

          Kommentar


          • #6
            Irgendwie "Content-Length" oder so ähnlich ^^

            Äh, Jo, hab da was gefunden: Content-Length

            Meine Frage zielte übrigens darauf ab, dass ich schon genug websites besucht habe, die per Script Dateien übertragen haben und die dann auch xyz.exe hießen, als Inhalt dann aber nur stehen hatten "404 - File not found" ^^

            Hast du einen anderen Browser oder eventuell einen Download-Manager getestet?

            Kommentar


            • #7
              bringt der FF denn ne fehlermeldung? wie "seite nicht verfügbar" oä?

              anderfalls folgendes funktioniert, bei mir, immer:

              PHP-Code:
              header('HTTP/1.1 200 OK'); 
              header('Content-type: {conttype}); 
              header('
              Content-Dispositionattachmentfilename="{filename}"');
              header ("Content-Length: {size}"); 

              Kommentar


              • #8
                Wenn er die PHP-Datei findet, die PHP-Datei aber selbst die kr.exe nicht, dann wird da kein Browser nen 404 rausschmeißen, schließlich is die PHP selbst ja da

                Kommentar

                Lädt...
                X