|
|
|
| Задача заключается в следующем:
Необходимо перенаправить пользователя на другую страницу и дать файл на скачивание,
т.е.
1) header("Location: png.htc", FALSE, 302);
и
2) header("Content-disposition: attachment; filename=somefile.dat");
.......
echo file_get_contents('omefile.dat');
т.е. послать 2 хедера на 1 фактически 1 гет запрос страницы.
JavaScript использовать нельзя.
Это вообще реально сделать? | |
|
|
|
|
|
|
|
для: STEVER
(28.07.2009 в 23:24)
| | На странице, с которой идет перенаправление - ставите первый header, отвечающий за переадресацию, а второй header - на той странице, куда пользователь был переброшен.
Вобще на одной странице можете размещать сколько угодно header-ов, главное - чтобы перед ними не было никакого вывода. | |
|
|
|
|
|
|
|
для: STEVER
(28.07.2009 в 23:24)
| | Вы вообще в курсе, что такое header и из чего он состоит?
к yuk тот же вопрос. | |
|
|
|
|
|
|
|
для: Trianon
(29.07.2009 в 01:16)
| | >что такое header
приблизительно.
на сколько я понимаю вопрос - это часть HTTP сообщения, которая несет в себе сервисные данные.
>из чего он состоит
там довльно много полей. В чем вопрос? | |
|
|
|
|
|
|
|
для: STEVER
(29.07.2009 в 12:08)
| | заголовок - это начальная часть либо http-запроса либо отклика http-запроса.
И заголовок этот в обоих из случаев - один.
Он может состоять, и обычно состоит из многих полей.
И говорить о двух заголовках одного запроса по меньшей мере неграмотно.
Кроме того, поле заголовка Location: приводит к порождению еще одного http-запроса.
Разбираться с которым нужно совершенно независимо от первого. | |
|
|
|
|
|
|
|
для: Trianon
(29.07.2009 в 12:20)
| | Trianon,
давно я не был на форуме. Мне казалось раньше твои ответы были более краткие и меткие. Понимаю, ты наверное на столько устал от тупых вопросов, что уже даже не хочется отвечать по делу.
Если тебя смутила предыдущая формулировка: возможно ли как-то послать второй гет запрос, не заставляя пользователя жать на ссылку. (JS нет) | |
|
|
|
|
|
|
|
для: STEVER
(29.07.2009 в 17:14)
| | >Если тебя смутила предыдущая формулировка: возможно ли как-то послать второй гет запрос, не заставляя пользователя жать на ссылку. (JS нет)
Я вот это написал?
Кроме того, поле заголовка Location: приводит к порождению еще одного http-запроса.
Вот как еще нужно сформулировать? | |
|
|
|
|
|
|
|
для: Trianon
(29.07.2009 в 12:20)
| | Если говорить о header, как о заголовке - да, он один.
Если говорить о header, как о функции - то вызовов этих может быть много. Конечно, в этом случае надо бы писать - header().
для STEVER
>>возможно ли как-то послать второй гет запрос, не заставляя пользователя жать на ссылку
чем не подходит предложенный мною вариант?
Конечно, в этом случае будет два запроса, и пользователю не придется жать на ссылку.
Только не совсем понимаю смысл первой страницы, с которой идет переадресация. Почему нельзя прямо в ней определить, какой файл нужен для скачивания, и в зависимости от этого послать нужный заголовок?
Что касается ответов Trianon-a - у одного парня спросили, какая у него мечта в жизни, и он ответил - моя мечта, чтобы люди научились думать. Похоже, у Trianon-a тоже есть такая мечта :) | |
|
|
|
|
|
|
|
для: yuk
(29.07.2009 в 18:19)
| | >Что касается ответов Trianon-a - у одного парня спросили, какая у него мечта в жизни, и он ответил - моя мечта, чтобы люди научились думать. Похоже, у Trianon-a тоже есть такая мечта :)
У меня - здесь - поскромнее. У меня - хотя бы чтоб те, которые программы пишут. | |
|
|
|
|
|
|
|
для: Trianon
(29.07.2009 в 20:54)
| | решение нашлось следующее:
<meta http-equiv="refresh" content="0; url='.$downloadURL.'">
благодарю всех принимающих участие в обсуждении
Trianon,
желаю чтобы исполнилась твоя мечта) | |
|
|
|