我應該建立一個簡單的下載管理器 ,我不明白這whay代碼不起作用:PHP Zend框架forcedownload
protected function doDownload($filename){
//$this->_helper->layout()->disableLayout();
//$this->_helper->viewRenderer->setNoRender(true);
$dir = Zend_Registry::get('dir');
$file = $dir->assets.$filename;
if(file_exists($file)){
$response = $this->getResponse();
$response->setHeader('Content-Description','File Transfer', true);
$response->setHeader('Content-Type','application/octet-stream', true);
$response->setHeader('Content-Disposition','attachment; filename='.basename($file), true);
$response->setHeader('Content-Transfer-Encoding','binary', true);
$response->setHeader('Expires','0', true);
$response->setHeader('Cache-Control','must-revalidate, post-check=0, pre-check=0', true);
$response->setHeader('Pragma','public', true);
$response->setHeader('Content-Length: ' , filesize($file),true);
ob_clean();
flush();
readfile($file);
exit(0);
/*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));
ob_clean();
flush();
readfile($file);
exit(0);*/
}
}
同時與註釋代碼腳本工作正常。
你能更「描述」它不起作用嗎?彈出任何錯誤?或者顯示文件而不是下載? – 2010-06-23 08:15:39