I am trying to get the ability to resume broken downloads with a client (such as FlashGet, GetRight, etc...) I am able to download the complete file without resume and everything works properly, but, when using a download manager, if I break the download then continue, the byte count never matches up. I am checking for the $_ENV['HTTP_RANGE'] and setting up my headers based on this info. But, the byte count continues to be incorrect. Could someone point me in the right direction? Thanks in advance for any assistance. Below you will find my code.... <?php session_cache_limiter('public'); session_start(); set_time_limit(0); $file=$_REQUEST['file']; $extstart=strpos($file, "."); $ext=substr($file, $extstart+1); $dir="d:\\downloadable_courses"; $size=filesize($dir."\\".$file); header("Accept-Ranges: bytes"); if(isset($_ENV['HTTP_RANGE'])) { list($a, $range)=explode("=",$_ENV['HTTP_RANGE']); str_replace($range, "-", $range); $size2=$size-1; header("Content-Range: $range$size2/$size"); $new_length=$size2-$range; header("Content-Length: $new_length"); } else { $size2=$size-1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: ".$size2); } header("Content-Type: application/".$ext); header("Content-Disposition: inline; filename=$file"); $fp=fopen($dir."\\".$file, "rb"); fpassthru($fp); exit; ?>