>разобрался с первыми двумя. Остается открытым третий вопрос...
Читать внимательно
CURLOPT_RANGE: Задает участок файла, который нужно загрузить, в формате "X-Y" , причем X или Y могут быть опущены. Протокол HTTP также поддерживает передачу нескольких фрагментов файла, это задается в виде "X-Y,N-M".