> 백엔드 개발 > PHP 튜토리얼 > Zend Framework里如何实现文件下载功能

Zend Framework里如何实现文件下载功能

WBOY
풀어 주다: 2016-06-23 14:12:12
원래의
880명이 탐색했습니다.

如题,我的目的是想要在一个控制器的方法里实现文件下载
该下载的文件不是本地目录上的文件,而是在控制器的方法里临时的生成的数据文件。
PHP在不用ZF的情况下是可以用设置header信息来让浏览器实现下载的功能,
header("Content-type: text/plain");       
header("Accept-Ranges: bytes");        
header("Content-Disposition: attachment; filename=".$filename);        
header("Cache-Control: must-revalidate, post-check=0, pre-check=0" );        
header("Pragma: no-cache" );        
header("Expires: 0" ); 
就像这样,但是在ZF里我直接拿这段代码放到某个控制器的方法里,比如downloadController的downloadAction()里,同样是这样设置头信息,最后打印数据,
print $data; 
却始终不能实现下载。
请问高手们应该怎么做到在zend framework里实现下载,或者ZF有没有自带的关于文件下载的。看了手册,貌似只有文件上载的。没有下载


回复讨论(解决方案)

需要禁用layout,viewRenderer
public function downloadAction() { 
  $this->_helper->getHelper ( 'layout' )->disableLayout ();
  $this->_helper->getHelper ( 'viewRenderer' )->setNoRender (); 

  。。。

}

下载文件头,也不太对
http://grow.sinaapp.com/?p=667

问题解决了,原来是因为我前段是用ajax来请求下载所以不管后台怎么写都是不对,换成链接形式就没问题了。

我没看明白啊,可以把整个过程说下不,我现在搞不懂ZF的文件下载功能!

zend framework如何实现下载,或者说这个框架有没提供下载类,有的话如何使用,请各位高手解答一下!!!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿