Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save 1234ru/db737eaa471e7649179acd4a4c37722f to your computer and use it in GitHub Desktop.
Save 1234ru/db737eaa471e7649179acd4a4c37722f to your computer and use it in GitHub Desktop.

Предположим, у нас есть скрипт givefile.php. Допустим, мы откуда-то уже взяли содержимое файла и хотим отдать его под именем somefile.txt:

<?php
$body = 'Это содержимое файла';

header("Content-type: application/octet-stream"); // этот заголовок нужен, 
                                                  // чтобы браузер сразу предложил сохранить файл на диск
header("Content-disposition: filename=somefile.txt"); // а в этом заголовке передается имя файла

echo $body; // ну а тут выводим его содержимое

Теперь, чтобы получить файл, нужно открыть givefile.php через браузер.

Примечание: некоторые символы в имени файла могут немного "поломать" заголовок (например, " и ,) и имя файла отдастся не полностью. Пока не бери в голову, это на случай, если при отдаче имя необъяснимым образом обрежется. Англоязычное обсуждение есть на stackoverflow.com (№ 93551), оставлю ссылку тут, если эту проблему все-таки придется решать.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment