Я пытаюсь экспортировать таблицу базы данных как .csv, загружаемую из браузера. Мой код основан на базе zend, и я почти там со следующим действием:
public function exportTableAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$fileName = $this->_getParam('fileName');
$tableName = $this->_getParam('tableName');
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$fileName.'"');
echo $this->getCsv($tableName, $fileName);
}
Я могу загрузить файл .csv, содержащий действительные данные. Однако даже если я отключил компоновку и рендерер, я все равно получаю вывод заголовка, боковой панели и нижнего колонтитула моей страницы в конце моего .csv файла. Есть ли способ отключить любой вывод html, отличный от того, который был создан в моем exportTableAction? Или я могу отправить информацию заголовка и строку csv в браузер по-другому?
BTW: Я использую плагин action stack, чтобы помочь мне отобразить заголовок и боковую панель следующим образом:
...
$actionStack = $front->getPlugin('Zend_Controller_Plugin_ActionStack');
$actionStack->pushStack($userlogAction);
$actionStack->pushStack($rightcolAction);
Приветствия, Адриан