Вызов функции PHP после заголовка для загрузки файла - PullRequest
1 голос
/ 17 апреля 2011

У меня есть функция создания файла для скачивания примерно так:

header("Content-type: application/octet-stream");
header("Content-disposition: filename=file.csv");
print 'hello hello';
exit;

$this->nextFuntion();

Мне нужно, чтобы «nextFunction» вызывался после всплывающего диалога сохранения, я видел здесь различные методы, но все они имеют отношение к функции header ('location:'). Обычно страница, на которой вызывается функция, содержит данные, которые находятся внутри файла. "nextFunction" сотрет данные со страницы и вернет сообщение и т. д.

Но лучшее, что я могу сделать, - это заставить загрузку работать и не работать.

Ответы [ 3 ]

0 голосов
/ 17 апреля 2011

Разделите это на два сценария.Первый вызовет функцию, а затем перенаправит на второй (через обновление META или тому подобное), который будет отвечать за отправку файла для загрузки.

0 голосов
/ 17 апреля 2011

Я думаю, что ваша проблема больше связана с nextFunction (), поскольку PHP должен позволять вам вызывать функции даже после установки заголовков.

Попробуйте использовать тестовую функцию, которая просто регистрирует файл или мой личный любимый исполнитель ("echo 'HAY HAY' | wall");

0 голосов
/ 17 апреля 2011

Вы уверены, что всегда хотите стереть файл сразу после его загрузки?Если пользователь хочет загрузить его снова и он недоступен, эта функция может раздражать его.Я бы порекомендовал настроить задание cron для удаления всех файлов старше определенного времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...