Я новичок в Zend Framework и у меня такая проблема. На моей веб-странице у меня есть демонстрации продуктов, которые будут загружаться пользователями. Когда они хотят загрузить их, они должны заполнить форму (имя, компания, адрес электронной почты, контактный телефон) и затем нажать «Отправить», чтобы начать загрузку. Я хотел бы, чтобы они были перенаправлены на страницу продукта. Вот мой код showFormAction в контроллере:
if ($this->_request->isPost())
{
if (!$form->isValid($this->_request->getPost()))
{
//shows messages and the form again
}
else
{
$file = $this->findYoungestFile('/demo/'.$product.'/');
$this->sendFileToClient($file);
$this->_redirect('/products/'.$product);
//sending mail
$infoMail = new InfoMail($this->_request->getPost(), 'download', $product);
$this->sendInfoMails($infoMail);
}
}
else
//show form
А вот и функция sendFileToClient
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
Перенаправление не работает. Я полагаю, что есть проблема с заголовками, отправленными в браузер, но я не знаю, как ее решить. Может ли кто-нибудь помочь мне, пожалуйста?
Спасибо и всего наилучшего,
Малгожата