Enrole o arquivo remoto e force o download ao mesmo tempo

Estou tentando obter um arquivo remoto e forçar o download para o usuário ao mesmo tempo. Eu não posso colar o código, o código é muito longo. mas a função curl funciona, mas o problema é que ele não coloca nada até obter o arquivo remoto primeiro, então força o download para o usuário.

Eu uso isso para dizer curl para retornar um retorno de chamada

curl_setopt($ch, CURLOPT_READFUNCTION, 'readCallback');

agora na minha função readCallback eu faço isso:

function readCallback($curl, $stream, $maxRead){
    $read = fgets($stream, $maxRead);
    echo $read;
    return $read;
}

mas ele não retorna nada, apenas aguarda até que o arquivo remoto seja concluído.

questionAnswers(2)

yourAnswerToTheQuestion