Download Script unterbindet weitersurfen

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

  • Download Script unterbindet weitersurfen

    Hallo,

    ich hab für meine Seite ein Downloadscript, das die Downloads wie folgt ausführt:

    PHP-Code:
    if (!empty($mimetypes[$extget])) {
        
    header("Content-Type: ".$mimetypes[$extget]."\n");
    } else {
        
    header("Content-Type: application/force-download");
    }

    if (
    strpos($_SERVER['HTTP_USER_AGENT'], "MSIE")){
        
    $disposition = ($extget != "zip") ? 'attachment' 'inline';
        
    header("Content-Disposition: ".$disposition."; filename=\"".$filename."\"");
    } else{
        
    header("Content-Disposition: attachment; filename=\"".$filename."\"");
    }

    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$file['size']);

    $fp fopen($filesdir."/".$filename"rb");

    while(!
    feof($fp)) {
        echo 
    fgets($fp8192);
        
    flush();
    }

    fclose($fp); 
    Das Script öffnet im Vorfeld noch eine Klasse für Session, Auth., Datenbank etc. und schreibt die Anzahl der Downloads in die Datenbank. In der Template-Klasse wird bei einem Download GZIP deaktiviert.

    Allerdings passiert es, dass wenn ich einen Download einer großen Datei starte, ich keine weitere Seite mehr anklicken kann. Erst wenn der Download beendet ist, springt die Seite um.

    Ich hab jetzt auch schon die HTTP_Downloads von PEAR probiert und habe da den gleichen Effekt. Der Effekt ist sowohl im IE als auch im FF. PHP Version ist die 4.4.1

    Hat jemand hier Erfahrungen oder den gleichen Effekt und evtl. ne Lösung für mich? Bin schon langsam am verzweifeln.

    Vielen Dank für Eure Hilfe

    Gruß
    Buddy

  • #2
    Re: Download Script unterbindet weitersurfen

    eventuell erlaubt die Serverkonfiguration nur eine Verbindung pro Client, kannst ja mal reinschauen

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Dank Dir für den Tipp, das wars leider nicht.

      Ich denke fast, das irgendwas sich damit nicht so wirklich verträgt. Die große Frage ist nur was. Header sind auch keine abgesetzt, das hab ich schon geprüft...

      Noch jemand ne Idee...?

      Besten Dank

      Gruß
      Buddy

      Kommentar


      • #4
        session vor dem Ausspucken der Daten geschlossen?
        Die Session setzt bei File-based einen Lock auf das entsprechende File und solange die Session dann nicht geschlossen ist, bleibt das Lock erhalten. Wenn du die Session nicht manuell vor dem Ausspucken der Daten schließt, bleibt sie offen und blockiert somit indirekt weitere Session-starts mit der gleichen ID

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          oh man, genau das war's...
          session_write_close(); und jetzt geht's

          Vielen Dank für den Tip

          Kommentar

          Lädt...
          X