Header-Attachment

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

  • Header-Attachment

    Guten Abend alle zusammen,

    wieder mal ein Problemchen hervorgekramt. Das Script unten dient dazu, dateien die auf dem server als 343626428653256738495.endungung oder ähnlich abgespeichert sind, in eine für den Benutzer nutzbare informationsquelle umzuwandel.

    Kurz das system: benutzer läd datei hoch, die wird als md5(crypt(rand())).endung auf dem server gespeichert. Dazu wird gespeichert um welchem mime-type es sich handelt, und eine kurze beschreibung.
    Wenn man das script mit dem parameter fid aufruft, soll er jetzt ne datei ausspucken, die beschreibu_ung.endung heisst, also leerzeichen durch _ ersetzt.

    Das ganze klappt prima, bei kleinen dateien, aber sobald sie grösser werden, so ab 500kb, geht garnichts mehr, da kann ich 0kb dateien runterladen und son mist. Gibt es da irgendwelche einschränkungen, oder was was ich beachten muss? wie gesagt, bei kleinen dateien geht das super, aber nich bei grossen.

    mfg Martin

    PHP-Code:
    <?
    $sql="SELECT `name_server` , `beschreibung`,`mime_typ` FROM `dateien` WHERE `id` = '$_GET[fid]' limit 1";
    $result=mysql_query($sql);
    $daten=mysql_fetch_row($result);
    $endung=explode(".",$daten[0]);
    $dateiname=str_replace(" ","_",$daten[1].".$endung[1]");
    header("Content-Type: $daten[2]");
    header("Content-Disposition: attachment; filename=\"$dateiname\"");
    readfile($default[file_root]."/files/$daten[0]");
    ?>
    Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

  • #2
    Hmm ... funktionieren größere Dateien, wenn du die max_execution_time hochsetzt?
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Zeit

      Zeit ist auf -1 gesetzt. Also der kann auch ruhig mal ne stunde rödeln :-]

      mfg Martin
      Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

      Kommentar


      • #4
        set_time_limit sollte wohl 0 sein, nicht -1 siehe hier: http://de2.php.net/set_time_limit

        sonst noch den folgenden Header mit senden:

        PHP-Code:
        header("Content-Length: ".strlen($string)); 

        Kommentar


        • #5
          Geht

          aja, das time_limit, mit 0 geht alles ganz prima.

          ich danke recht herzlich

          mfg Martin
          Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

          Kommentar

          Lädt...
          X