Have a Snippet?

Keep, track and share your code snippets with your friends



PHP: Force the browser to download the file Share on Vkontakte

Force the browser to download the file instead of opening it

$file_text = 'Some text here';

if (isset($_SERVER['HTTP_USER_AGENT']) and strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
    Header('Content-Type: application/force-download');
else
    Header('Content-Type: application/octet-stream');

Header('Accept-Ranges: bytes');
Header('Content-Length: ' . strlen($file_text));
Header('Content-disposition: attachment; filename="downloaded_file.txt"');

echo $file_text;
exit();


Tag: PHP, File Routines, Browser, Download

1 Comments

  1. Avatar
    highfeed

    30th May 2013, 05:24

    Мне например, удалось реализовать выдачу файлов через PHP Nginx с записью статистики скачиваний и проверкой авторизации пользователя.

    Как это работает: веб-сервер получает запрос о скачивании файла, в PHP совершаются необходимые проверки и запись статистики, далее Nginx`у отправляется заголовок «X-Accel-Redirect», завершаем работу скрипта и Nginx уже выдает статический файл.

    Тут более подробно: