Intereting Posts
Загрузите все изображения из одного каталога веб-сайта с использованием завитка с простым хмльдом REMOTE_ADDR и IPv6 в PHP Вставка php pdo multi array Проверьте, содержит ли ассоциативный массив значение и извлекает ключ / позицию в массиве Как использовать рекурсивный итератор массива для обработки многомерного массива? Как проверить тип даты в массиве в PHP HTML-форма POST на PHP-страницу Имя динамической переменной PHP Где я помещаю оператор sql для хранения в базе данных для blueimp / jQuery-File-Upload? Чтение писем на сервере с помощью IMAP? Строгие стандарты: Декларация «должна быть совместима с» Как заставить PHP установить код состояния HTTP на 500 автоматически в случае каких-либо ошибок? (включая те, которые не могут обрабатываться пользователем) как получить значение кнопки отправки, которое находится в цикле while, используя метод post Пользовательская кнопка добавления в корзину, чтобы добавить несколько товаров в корзину с количеством: woocommerce

Заголовок Content-Type: application / octet-stream возвращает встроенный текст / html

Возникли трудности с процессом, который создает код HTML-страницы, а затем отображает диалог «Открыть / Сохранить как». Этот код используется на двух разных сайтах и ​​работает корректно на одном сайте (при желании открывается диалоговое окно «Открыть / Сохранить как»), но на другом сайте отображается встроенный HTML-код на вызывающей странице (процесс вызывается кнопкой формы).

Код создает полную HTML-страницу (html / head / body / etc), в приведенном ниже коде содержимое HTML представляет $xoutput переменную $xoutput .

$thefile – это полное имя файла.

Я пробовал много разных комбинаций настроек header() . Заметим еще раз, что код работает правильно на одном сайте, но тот же самый код показывает встроенный HTML-контент, а не диалог Open / Save As. Нет выхода перед заголовком (), который может привести к ошибке «заголовки уже отправлены» (чего не происходит).

На обоих сайтах работает PHP 5.4.43. Оба сайта имеют одинаковый код. Обратите внимание, что проблема также возникает на другом (клиентском) сайте. Оба сайта работают в одном браузере (последний Firefox). То же самое на обоих сайтах, но разные результаты. Добавлено Оба сайта WP (последний); отключив все другие плагины и используя тему 2015, по-прежнему показывает встроенный HTML-код на проблемном сайте.

Почему код работает правильно на одном сайте, но не на другом? Я думаю, проблема в каком-то месте в header() , но это все, что я могу понять. Попробовали много кода, предложенного googles. Единственная переменная между двумя сайтами – это два сайта. Все остальное – то же самое.

Ниже приведен код, основанный на моем предыдущем вопросе по тому же вопросу (здесь Force Download сгенерированного HTML )

  // $xoutput = full HTML page code // $thefile = full file name like somefile.html $handle = fopen($thefile, "w") ; fwrite($handle, $xoutput) ; fclose($handle) ; $size = filesize($thefile) ; ob_clean(); flush(); ob_start(); header('Content-Description: File Transfer') ; header('Content-Type: application/octet-stream') ; header("Content-Disposition: attachment; filename=\"" . $thefile . "\""); header('Content-Transfer-Encoding: binary') ; header('Connection: Keep-Alive') ; header('Expires: -1') ; header('Cache-Control: must-revalidate, post-check=0, pre-check=0') ; header('Pragma: public') ; header('Vary: User-Agent'); header('Content-Encoding: gzip'); header("Content-Length: \"" . $size . "\""); readfile($thefile) ; ob_end_flush(); exit ; 

Спасибо … Рик …