PHP- Curl Download Bandwidth Limiting
        Posted  
        
            by snikolov
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by snikolov
        
        
        
        Published on 2010-06-18T01:46:34Z
        Indexed on 
            2010/06/18
            1:53 UTC
        
        
        Read the original article
        Hit count: 325
        
Hey guys, I have been trying to limit the bandwidth with PHP.
Can you please help here? I can't get the download rate to be limited with PHP.
Thanks a million!
    function total_filesize($url) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "$url");
        curl_setopt($ch, CURLINFO_SPEED_DOWNLOAD,12); //ITS NOT WORKING! 
        curl_setopt($ch, CURLOPT_USERAGENT,
                "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) ".
                "Gecko/20071127 Firefox/2.0.0.11");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_NOBODY, true);
        $chStore = curl_exec($ch);
        $chError = curl_error($ch);
        $chInfo = curl_getinfo($ch);
        curl_close($ch);
        return $size = $chInfo['download_content_length'];
    }
    function __define_url($url) {
        $basename = basename($url);
        Define('filename',$basename);
        $define_file_size = total_filesize($url);
        Define('filesizes',$define_file_size);
    }
    function _download_file($url_file) { 
        __define_url($url_file);
        // $range = "50000-60000";
        $filesize = filesizes;
        $file = filename; 
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename="'.$file.'"'); 
        header('Content-Transfer-Encoding: binary');
        header("Content-Length: $filesize");
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,"$url_file");
        curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
        //  curl_setopt($ch, CURLOPT_RANGE,$range);
        curl_exec($ch);
        curl_close($ch);
    }
    _download_file('http://rarlabs.com/rar/wrar393.exe'); 
        © Stack Overflow or respective owner