Добрый день, не могу разобраться как отдать файл на скачивание с другого домена.
Есть урл в параметре которого передается ссылка на файл. При переходе по ссылке хочу отдавать файл на скачивание
Написал следующую функцию
function file_force_download($file) {
if ($fd = fopen($file, "r")) {
$fsize = filesize($file);
$path_parts = pathinfo($file);
// заставляем браузер показать окно сохранения файла
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $path_parts['basename']);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($fsize));
// читаем файл и отправляем его пользователю
while (!feof($fd)) {
print fread($fd, 2048);
}
fclose($fd);
exit;
}
}
Проблема в том что файл отдает, но почему то его вес 0 байт, такое впечатление что нет тела. Помогите разобраться в чем проблема. Заранее благодарен.