Content-Disposition: attachment;

Статус
В этой теме нельзя размещать новые ответы.

nut

Новичок
Content-Disposition: attachment;

Привет всем!
идея такова - нужно выдать файл на скачку, раньше делалось через readfile, но нагрузка возрасла и желательно для выдачи файла не использовать PHP.
Попродовал header('Content-Location: 1.png');, но отдает пустой файл.
Есть ли выход?
Спасибо.
PHP:
<?
header("Cache-Control: max-age=60");
header("Cache-Control: private");
header("Content-Description: File Transfer");
header("Content-Type: image/png");
header("Content-Disposition: attachment; filename=\"1.png\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize("1.png"));
header('Content-Location: 1.png');
//    readfile("1.png");

?>
 

Фанат

oncle terrible
Команда форума
странно.
маловато что-то заголовков.
ты точно уверен, что выдаешь все, перечисленные в спецификации НТТР? по-моему, ты некоторые забыл.
 

nut

Новичок
нет не уверен, но этого хватает для скачки.
Если закомментировать header('Content-Location: 1.png'); и раскомментировать readfile("1.png"); то работает.

:(
знал бы не спрашивал
 

Фанат

oncle terrible
Команда форума
да уж оно и видно. знанием здесь и не пахнет.
напиханы все заголовки, какие только пришли в голову.

не пробовал, когда-нибудь, для разнообразия, попробовать понимать, что ты пишешь в своем скрипте?
 

qwelp

Новичок
попробуй этот вариант.

header('Content-Disposition: attachment; filename=<имя файла>');
header('Content-Length: <размер файла>');
echo ($<фаил>);
 

Фанат

oncle terrible
Команда форума
офигеть. специалисты на каждом шагу.
qwelp, ты вопрос читал?
ты вот это видел?
нагрузка возрасла и желательно для выдачи файла не использовать PHP.
 

God

Новичок
А почему тогда нельзя просто использовать редирект:
PHP:
/*
Здесь если надо ведем лог
*/
header($_SERVER['SERVER_PROTOCOL'] . ' 302 Moved');
header('Location: 1.png');
 

Фанат

oncle terrible
Команда форума
потому, что для этого надо понимать, для чего служат все эти заголовки.
а не радостно копипастить.
 

dolcom

Новичок
потому, что для этого надо понимать, для чего служат все эти заголовки.
а не радостно копипастить.
Ты написал 4 сообщения и все бесполезные. Когда человек обращается на форум с вопросом, он рассчитывает получить ответ на него, а не "умные" изречения вроде "надо понимать", "надо знать" итп.

Если остальные 30 000 твоих сообщений в таком же стиле, то не понимаю зачем ты нужен на этом форуме.
 

Yoskaldyr

"Спамер"
Партнер клуба
Есть ли выход?
Спасибо.
Вопрос - "Есть ли выход" не несет никакой смысловой нагрузки в плане решения поставленной задачи.
Поэтому какой вопрос - такой и ответ:
Выход - ЕСТЬ!
А если более точно - читать мануалы и после чего правильно задать вопрос.
 

Ragazzo

TDD interested
Фанат
<sarcasm>вопросу 5 лет, а ты все такой же злой :D ничего не изменилось</sarcasm>
 

dolcom

Новичок
Ничего страшного, это нормально.
Некоторые вещи понимаем далеко не с первого раза.
Похоже, что и не со второго. Похоже Фанат только и умеет "блестать остроумием"

Вопрос - "Есть ли выход" не несет никакой смысловой нагрузки в плане решения поставленной задачи.
Поэтому какой вопрос - такой и ответ:
Выход - ЕСТЬ!
А если более точно - читать мануалы и после чего правильно задать вопрос.
Искренне надеюсь, что Вам так же отвечают на ваши вопросы. Довольно-таки простой вопрос вызвал у вас непонимание) Сожалею
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху