Есть параметр CURLOPT_INFILESIZE: при закачке файла на удаленный сервер, следует использовать этот параметр для указания ожидаемого размера файла. Я тупо ноль поставил ничего не изменилось. Зачем он нужен?