AsviS
@AsviS
начинающий

Как сделать отдачу exe файла?

Есть код:
$file_d = '/download/tmp_file/'.$rand_name.'/qwerty.exe';
$file_n = 'qwerty.exe';
    if (ob_get_level()) {
      ob_end_clean();
    }
    // заставляем браузер показать окно сохранения файла
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file_n));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file_d));
    // читаем файл и отправляем его пользователю
    readfile($file_d);
    exit;


Файл отдает но он не рабочий + еще и ошибку хром говорит:

UWIMxCC.jpg

если отдаю просто:
header( 'Refresh: 0; url=/download/tmp_file/'.$rand_name.'/qwerty.exe' );

то все норм!
Как мне правильно отдать файл что бы не было предупреждений от хрома и что-бы подпись не слетала?

P.S.: Отдаю на отдельной странице! (Сейчас если делать через редирект хедер то при клике перенаправляет на страницу down.php, у меня при клике на СКАЧАТЬ открывается ещё окно с информацией, нужно что-бы работало без редиректа)
  • Вопрос задан
  • 386 просмотров
Пригласить эксперта
Ответы на вопрос 2
KarleKremen
@KarleKremen
Игнорирую Bootstrap
<?
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename: myfile.exe");
$fl = file_get_contents("myfile.exe");
echo $fl;
?>

Этот код отдаст нормально. Просто повесьте нак кнопку "Скачать" ссылку на этот файл
Ответ написан
Комментировать
@Kostya00723
Зачем тебе париться? Html 5 поможет
Тег download погугли
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы