Announcement

Collapse
No announcement yet.

Download Parallel ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Download Parallel ?

    Hey,
    Starte so meinen download der Datei für den Benutzer:

    Code:
    session_start();
    
        header("Content-Type: application");
        header("Content-Disposition: attachment; filename=\"".$_SESSION['dateiname']."\"");
        readfile($_SESSION['dllink']);
    Aber während der Download läuft kann ich sonst nix mehr auf der Seite machen... wie kann ich das ändern ?

  • #2
    Originally posted by cracker0dks View Post
    ...Aber während der Download läuft kann ich sonst nix mehr auf der Seite machen... wie kann ich das ändern ?
    Wie meinst du das: "kann ich sonst nix mehr auf der Seite machen"?

    Je nach Browser sollte ein Downloaddialog aufgehen und während dieser läuft kann man ganz normal im Browser weiterarbeiten.
    Bei grossen Downloads per PHP solltest du zudem aufpassen, dass du nicht an Scriptlaufzeiten stösst.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Je nach Browser sollte ein Downloaddialog aufgehen
      ...wenn es dafür einen extra Request gibt. Ist es der von der Seite, so wird diese wohl warten müssen
      Christian

      Comment


      • #4
        Wie meinst du das: "kann ich sonst nix mehr auf der Seite machen"?
        Zb. noch eine Datei parallel runter zu laden...

        das geht im Moment nicht, die Seite hängt einfach während eines laufenden Downloads!

        Comment


        • #5
          das geht im Moment nicht, die Seite hängt einfach während eines laufenden Downloads!
          Von wo kommt der Request der den Download anstösst?
          Christian

          Comment


          • #6
            naja der user ruft die php auf in der der oben genannte code steht...

            Comment


            • #7
              Dann wird das wohl die Ursache sein

              Request -> Response,
              Request -> Response
              Christian

              Comment


              • #8
                wie lös ich das Problem jetzt ?

                Comment


                • #9
                  in dem der oder diese Downloads auf deiner Seite je einen Request auslösen. D.h. sie sind ein Link. Dieser Link ruft (ggf. mit Parametern) dein Downloadscript auf
                  Christian

                  Comment


                  • #10
                    ja ist schon so... hab einen Downloadskript das mit parametern aufgerufen wird... wie mach ich das mit 2 requests?

                    Comment


                    • #11
                      Wenn es schon so ist, kann das Problem so nicht auftreten
                      Christian

                      Comment


                      • #12
                        So wird der realsisiert:


                        Code:
                        function makeDownload($file, $dir, $type) {
                            
                            header("Content-Type: $type");
                        
                            header("Content-Disposition: attachment; filename=\"$file\"");
                        
                            readfile($dir.$file);
                            
                        }
                        
                        makeDownload("meineDatei.jpg", "./files", "image/png");
                        Wenn ich ihn jedoch einmal aufrufe hängt die Seite bis der Download beendet wurde... obwohl die download.php nur verlinkt ist...

                        Comment


                        • #13
                          Es ist Standard auf fast jeder Seite im Netz. Wenn du eine Seite hast, die bsp auf 3 mp3-Dateien verlinkt ist, kannst du jeden Link anklicken und der Download wird starten. In diesem Fall werden dann 3 Dwonloads laufen.
                          Dabei ist es völlig unerheblich, ob der Link direkt zu der Datei geht oder - wie es in diesem Fall erforderlich ist - auf ein PHP-Script, welches die Dateien jeweils in den Response schreibt.

                          Das ständige zeigen deiner 3 Codezeilen hilft da nicht.
                          Christian

                          Comment


                          • #14
                            das Problem ist denk ich, dass ich 3 mal die gleiche Datei anspreche "download.php" wenn ich die Dateien direkt verlinke ist das nicht der Fall!

                            Comment


                            • #15
                              Warum sollte das ein Problem sein? Das ist Sache des Webservers, des PHP-Interpreters usw.
                              Auch das ist Standard im Netz. Jede Datei liegt auf dem Server nur einmal. Alle Nutzer "teilen" sich diese. Glaube nicht, dass dein Webserver von 3 User am Ende ist..
                              Christian

                              Comment

                              Working...
                              X