RS_Jelle, I'd like to provide you some basic code for supporting resumes when downloading...
Keep in mind, I have't converted this as of yet to plug in to the downloads.php but I'm definitely getting ready to, if you choose not to in your next version. I'm dealing with big files (UT3 maps and mods), hitting 20-30M easy, so I need this.
Still looking for RSS support out of your mod, but, I'll not look to solve that if you're working on it. If it's on the "to-do" list with no active work toward it, let me know, and I'll pull something together for that.
Lastly, if you want me to just shut the hell up, let me know.
Here goes for supporting resuming downloads...
PHP Code:
// Begin writing headers
header("Cache-Control:");
header("Cache-Control: public");
header("Content-Type: $ctype");
$filespaces = str_replace("_", " ", $filename);
// if your filename contains underscores, replace them with spaces
$header='Content-Disposition: attachment; filename='.$filespaces;
header($header);
header("Accept-Ranges: bytes");
$size = filesize($file);
// check if http_range is sent by browser (or download manager)
if(isset($_SERVER['HTTP_RANGE'])) {
// if yes, download missing part
$seek_range = substr($_SERVER['HTTP_RANGE'] , 6);
$range = explode( '-', $seek_range);
if($range[0] > 0) { $seek_start = intval($range[0]); }
if($range[1] > 0) { $seek_end = intval($range[1]); }
header("HTTP/1.1 206 Partial Content");
header("Content-Length: " . ($seek_end - $seek_start + 1));
header("Content-Range: bytes $seek_start-$seek_end/$size");
} else {
header("Content-Range: bytes 0-$seek_end/$size");
header("Content-Length: $size");
}
//open the file
$fp = fopen("$file","rb");
//seek to start of missing part
fseek($fp,$seek_start);
//start buffered download
while(!feof($fp)) {
//reset time limit for big files
set_time_limit(0);
print(fread($fp,1024*$speed));
flush();
sleep(1);
}