Intereting Posts
Возможно ли прочитать значение cookie / session при выполнении скрипта PHP5 через командную строку? Zend_Session / Zend_Auth случайно генерирует сообщение об ошибке ps_files_cleanup_dir: opendir (/ var / lib / php5) не удалось: разрешение отклонено (13) Что делать с типом URL сообщества, например Last.FM или Wikipedia? Как я могу получить доступ к нескольким индивидуальным ответам reCAPTCHA с одной и той же страницы? Проверьте, является ли строка хешем Рекурсия с использованием PHP Simple DOM Parser Как получить доступ к изменению этой ценовой функции в Magento Как отправить только событие click (div) при использовании функции jquery live? Аутентификация LDAP в Windows Остановить людей от угона системы голосования с использованием PHP? Как создать php-форму электронной почты? массив в MySQL Как создать ссылку, которая отправляет пользователя на другую страницу, которая затем перенаправляется на другую страницу, связанную со ссылкой? echo html значение тега отдельно для разных блоков Вопросы проектирования для интернационализации

буферизация вывода для загрузки файла php

Могу ли я сделать что-то вроде этого?

ob_start(); header("Content-Type: application/msword"); header("Content-Disposition: attachment; filename=".$title); header("Content-Length: ".$size); header("Content-Transfer-Encoding: binary"); readfile($path); ob_end_flush(); 

В настоящее время я получаю правильно названный файл для загрузки, но содержимое файла представляет собой вывод html из php, который содержит указанный выше код.

Я проверил правильный путь $. Будет ли плохой размер, чтобы это произошло? Я также попытался ob_flush () непосредственно после ob_start ().

EDIT: Текущий код ниже:

 if (file_exists($path)){ ob_start(); header("Content-Type: application/msword"); header("Content-Disposition: attachment; filename=".$title); header("Content-Length: ".filesize($path)); header("Content-Transfer-Encoding: binary"); readfile($path); ob_end_flush(); die(); } else die ("Not Found"); 

Выше кода приводит к той же проблеме. Файл загружается, именован правильно, по-видимому, существует и с правильным размером, но содержимое файла является html-выходом страницы.

заранее спасибо

Я просто заметил, что это в самом конце файла, который загружает (неправильно): «int (14) content»

Но я не знаю, как это сделать в моем коде.

Related of "буферизация вывода для загрузки файла php"

Возможно, некоторая отладка может помочь:

 if (file_exists($path)) { ob_start(); header("Content-Type: application/msword"); header("Content-Disposition: attachment; filename=".$title); header("Content-Length: ".filesize($path)); header("Content-Transfer-Encoding: binary"); readfile($path); ob_end_flush(); die(); // To not send the HTML afterwards } else die("Not found");