readfile - Download will net starten

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

  • readfile - Download will net starten

    Moinsen,
    ich habe mir heute einen Downloadstarter in PHP geschrieben.
    Dieser klappt aufm Localhost Perfekt.

    Im Internet allerdings geht er nur bis Dateien die kleiner als 5 MB sind. Danach kommt einfach eine weiße Seite - keine Fehler oder sonstiges .

    PHP-Code:
                         # Um die Extension zu kriegen nehmen wir den Namen, "exploden diesen" und in dem Array
                        # können auch mehrere Punkte drinne sein, da wir immer das Letzte nehmen kriegen wir das richtige
                           
    $ext        explode("."$file);
                        
    $mime_type $mime$extcount $ext ) - ] ];

                        
    header("HTTP/1.1 200 OK");
                        
    header("Pragma: public");
                           
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
                           
    header("Cache-Control: public");
                           
    header("Content-Description: File Transfer");
                 
                        
    header("Content-Type: $mime_type");
                        
    header("Content-Length: $result[size]");                 
                        
    header("Content-Disposition: attachment; filename=\"$result[file]\"");
                        
    readfile$file ); 
    Das ist der Code der genutzt wird.
    Der Server nutzt PHP 4.3.7 im Safe Mode.

    Achso, das hier ist die gesamte Funktion die den Download startet:
    PHP-Code:
    function download(){
        global 
    $db,$prefix,$strError,$arrSecurity,$GeneralConfig,$mime;
        
    $id    $_GET['id'];
        if(!
    is_numeric($id))    {$err[] = _idnumeric;}
        if(empty(
    $err)){    

            
    $result    $db -> fetch_array($db -> query("SELECT `parent_id`,`size`,`file` FROM `".$prefix."_download` where `broken` = 0 AND `id` = $id"));
            
    $CatParent    $db -> fetch_assoc($db -> query("SELECT `name`,`view` FROM `".$prefix."_download_cat` where `id` = ".$result['parent_id']));
            if( 
    access$CatParent['view'] ) == 1){
                if( 
    blocked_referer() == 0)
                {
                    
    $db -> query("UPDATE `".$prefix."_download` set `downloads` = `downloads`+1 where `id` = $id");
                    
    $file "download/".$result['file'];
                    if ( 
    is_file $file )) 
                    {
                        
    # Um die Extension zu kriegen nehmen wir den Namen, "exploden diesen" und in dem Array
                        # können auch mehrere Punkte drinne sein, da wir immer das Letzte nehmen kriegen wir das richtige
                           
    $ext        explode("."$file);
                        
    $mime_type $mime$extcount $ext ) - ] ];

                        
    header("HTTP/1.1 200 OK");
                        
    header("Pragma: public");
                           
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
                           
    header("Cache-Control: public");
                           
    header("Content-Description: File Transfer");
                 
                        
    header("Content-Type: $mime_type");
                        
    header("Content-Length: $result[size]");                 
                        
    header("Content-Disposition: attachment; filename=\"$result[file]\"");
                        
    readfile$file );    
                    
                    }
                  }
                Else
                {
                    
    $content $strError -> Announce(_download_klau);
                }
            }
            Else{
                
    $content $strError -> Announce(_security);
            }
        }
        Else{
            
    $content $strError -> CheckError($err);
        }    

    return 
    $content;

    Das komische ist, wenn ich die Datei in dem ersten CodeSchnipsel direkt mit den Arrays ersetze, klappt es, wenn ich das in der Funktion mache, kommt trotzdem noch er Weiße Bildschirm.

    Komisch ist dann auch noch das der Query welcher die Downloads zählen soll bei den Downloads über 5 MB manchmal einfach um 3 höher geht, obwohl im Query ja drinne steht +1.

    Weiß da jemand rat?
Lädt...
X