tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
144
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    gamerfunkie gamerfunkie ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    160
    Hallo,
    ich möchte auf meinem Webserver die Downloaddateien nicht direkt zugänglich machen, sondern einige Dateien nur für bestimmte Nutzer zulassen.
    Da ich die Dateien per FTP hochladen möchte und sie nicht erst gross in einer Datenbank einlesen oder indizieren lassen will, ist mein Ansatz folgender:
    Ich sperre per htaccess das Downloadverzeichnis. Wenn ein Nutzer eine Datei runterladen will, wird PHP die Datei an den Benutzer senden. Meine Frage ist jetzt wie ich das PHP-seitige realisiere.
    Veilleicht kann mir jemang helfen.
    Danke,
    gamerfunkie
     

  2. #2
    Avatar von maeTimmae
    maeTimmae maeTimmae ist offline Mitglied Platin
    Registriert seit
    Aug 2007
    Ort
    Erfurt, Saarbrücken, Leipzig und Fulda
    Beiträge
    515
    Folgende Funktion liest eine Datei stückchenweise ein und gibt sie aus. Wenn es sich um kleine Dateien handelt, oder du generell ohne Memory-Limit und ähnliches arbeitest, solltest du stattdessen auf readfile() zurückgreifen, da diese wesentlich schneller und einfacher arbeitet.

    PHP-Code:
    <?php

    // Maximale Speichernutzgrenze deaktivieren
    ini_set"memory_limit""-1" );

    // TimeOut Intervall merken
    define"RF_TIMEOUT"ini_get"max_execution_time" ) );

    /**
     * Gibt Datei stückchenweise aus.
     *
     * @param    String $filename, Pfad zur Datei
     * @return    boolean, true wenn erfolgreich, false sonst
     */
    function readFileChunked$filename ) {
        
    // Chunk Größe - Hier 1MB
        
    static $chunkSize 1048576;

        
    // TimeOut in Sekunden
        
    static $timeout RF_TIMEOUT;

        
    // Buffer initialisieren
        
    $buffer null;

        if ( 
    false === ( $fh fopen$filename"rb" ) ) ) {
            
    // Dateizugriff schlug fehl
            
    return false;
        }

        while ( !
    feof$fh ) ) {
            
    // Reinitialisiere TimeOut Intervall
            
    set_time_limit$timeout );

            
    // So lange Dateiende nicht erreicht, gib chunkweise aus
            
    echo fread$fh$chunkSize );

            
    // Versuche die Buffer zu leeren, falls aktiv
            
    ob_flush();
            
    flush();
        }

        return 
    fclose$fh );
    }
     

  3. #3
    gamerfunkie gamerfunkie ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    160
    Hallo,
    habs jetzt schon, werd mir deins nochmla anschauen. Danke!
     

Ähnliche Themen

  1. seit Ubuntu heißt .htaccess uft8.htaccess und geht nicht mehr?
    Von supersalzi im Forum Hosting & Webserver
    Antworten: 4
    Letzter Beitrag: 17.08.09, 17:21
  2. flv downloaden
    Von schmitti81 im Forum Smalltalk
    Antworten: 1
    Letzter Beitrag: 16.06.09, 13:08
  3. Antworten: 1
    Letzter Beitrag: 29.05.06, 17:54
  4. Antworten: 29
    Letzter Beitrag: 15.02.05, 03:08
  5. .htaccess öffnen / downloaden
    Von micha im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 16.03.03, 16:37