Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 19.05.2012
Сообщений: 28

Отловить возвращение из php скрипта http заголовков

10.06.2014, 22:27. Показов 885. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На странице находится форма, по отправке которой стандартными методами (не аякс) php скрипт генерирует файл и отдает его на скачивание. При этом перегрузки страницы не происходит, т.к. идут "нужные" заголовки, браузер сразу начинает скачивание файла.

В момент отправки формы организую анимацию ожидания. Сейчас выключаю его при уходе фокуса со страницы, что нехорошо.

Пытался уйти на аякс для контроля момента, но как отдать файл на скачивание без хранения его на сервере так и не разобрался, а нужен именно такой вариант. Пробовал выводить в динамически создаваемый фрейм (нашел намеки на такое решение на форуме), но ничего хорошего не получилось.

Вопрос: возможно ли как-то отловить то, что пошли заголовки файла или вообще что пошла загрузка, чтобы корректно убирать анимацию?


PS
Файл генерируется библиотекой mPdf, привожу кусок кода, отвечающий за http заголовки
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
header('Content-Description: File Transfer');
            if (headers_sent())
                $this->Error('Some data has already been output to browser, can\'t send PDF file');
            header('Content-Transfer-Encoding: binary');
            header('Cache-Control: public, must-revalidate, max-age=0');
            header('Pragma: public');
            header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
            header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
            header('Content-Type: application/force-download');
            header('Content-Type: application/octet-stream', false);
            header('Content-Type: application/download', false);
            header('Content-Type: application/pdf', false);
            if (!isset($_SERVER['HTTP_ACCEPT_ENCODING']) OR empty($_SERVER['HTTP_ACCEPT_ENCODING'])) {
                // don't use length if server using compression
                header('Content-Length: '.strlen($this->buffer));
            }
            header('Content-disposition: attachment; filename="'.$name.'"');
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2014, 22:27
Ответы с готовыми решениями:

Запись заголовков HTTP клиентов
Прошу прощение за дубль топика, но думаю этот раздел именно для этого вопроса. Мне необходимо записать полные заголовки клиента...

Запись заголовков HTTP клиентов.
Мне необходимо записать полные заголовки клиента (браузера) в файл при его запросе на скрипт. Подскажите пожалуйста, как это осуществить...

Получить PHPSessid из HTTP заголовков
вот в headers^ Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=200 Pragma: no-cache Cache-Control:...

1
Все элементарное - сложно
133 / 118 / 50
Регистрация: 14.04.2014
Сообщений: 509
11.06.2014, 09:06
Ну раз уж вы зашли в раздел jQuery... Могу посоветовать формировать из формы JSON-объект, отправлять его AJAX запросом, обрабатывать на стороне сервера и возвращать в success необходимые заголовки.
В вашем же случае без фрейма, скорее всего, не обойтись. Придется извращаться, возвращать в фрейм скрипт, который запустит скрипт родителя. Ноооо я могу ошибаться=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2014, 09:06
Помогаю со студенческими работами здесь

Накопление HTTP заголовков (ajax)
Доброго времени суток. Возникла проблема с накоплением заголовков или запросов (не уверен как правильно). Суть в следующем, есть простая...

Изменение заголовков запроса с http2 на http
Учусь писать скрипты для анализа различной информации по сайтам. Планирую использовать curl, но пока не знаю как правильно формировать...

HTTP-Аудентификация без отправки заголовков пользователю
Всем известна HTTP-Аутентификация, которую можно произвести посредством файла .htaccess, или послав соответствующие заголовки пользователю....

Чтение прокси из файла для чека заголовков http
Доброго времени суток! Помогите пожалуйста решить такое: Нужно циклом прочитать прокси для чека заголовков http из файла: вот...

Как получить данные из HTTP заголовков, средствами JS/jQuery?
Всем привет! Кто знает как получить данные из HTTP заголовков, средствами JS/jQuery? Буду благодарен любым мыслям по этому поводу. В моем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru