Существует fpassthru () , который должен делать именно то, что вам нужно. Смотрите запись в руководстве, чтобы прочитать о следующем примере:
<?php
// open the file in a binary mode
$name = './img/ok.png';
$fp = fopen($name, 'rb');
// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// dump the picture and stop the script
fpassthru($fp);
exit;
?>
См. здесь для всех функций файловой системы PHP.
Если это бинарный файл, который вы хотите предложить для загрузки, вы, вероятно, также хотите отправить правильные заголовки, чтобы появилось диалоговое окно «Сохранить как ...». См. 1-й ответ на этот вопрос для хорошего примера того, какие заголовки отправлять.