php 输出excepion内容,带有消息“无法关闭zip文件php://输出”的PHPExcel_Writer_Exception...
我正在使用PHPExcel將一些數據導出到Excel文件中的用戶。我希望腳本在創建后立即將excel文件發送給用戶。這是我的測試代碼:
try{
/* Some test data */
$data = array(
array(1, 10 , 2 ,),
array(3, 'qqq', 'some string' ,),
);
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
/* Fill the excel sheet with the data */
$rowI = 0;
foreach($data as $row){
$colI = 0;
foreach($row as $v){
$colChar = PHPExcel_Cell::stringFromColumnIndex($colI++);
$cellId = $colChar.($rowI+1);
$objPHPExcel->getActiveSheet()->SetCellValue($cellId, $v);
}
$rowI++;
}
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="export.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
}catch(Exception $e){
echo $e->__toString();
}
在我的本地服務器(Windows 7 x64,Php 5.3.8,Apache 2.2.21)我得到一個有效的xlsx文件。沒有錯誤。
但在實時服務器上有問題(Linux 2.6.32-5-amd64,PHP 5.3.3-7 squeeze13,Apache 2.2.16)。該腳本允許瀏覽器使用這樣的內容下載“export.xlsx”文件:
exception 'PHPExcel_Writer_Exception' with message 'Could not close zip file php://output.' in /var/www/someuser/data/www/somedomain.com/libs/PHPExcel/Writer/Excel2007.php:348
Stack trace:
#0 /var/www/someuser/data/www/somedomain.com/classes/Report/Leads/Export.php(339): PHPExcel_Writer_Excel2007->save('php://output')
#1 /var/www/someuser/data/www/somedomain.com/application/pages/account/controllers/TestController.php(13): Report_Leads_Export->Test()
#2 /var/www/someuser/data/www/somedomain.com/libs/Zend/Controller/Action.php(516): Account_TestController->indexAction()
#3 /var/www/someuser/data/www/somedomain.com/libs/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('indexAction')
#4 /var/www/someuser/data/www/somedomain.com/libs/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#5 /var/www/someuser/data/www/somedomain.com/index.php(511): Zend_Controller_Front->dispatch()
#6 {main}
PHP不是以安全模式運行。 “open_basedir”選項為空(已被注釋掉)。
我在PHPExcel文件中找到了這樣的代碼:
if ($objZip->close() === false) {
throw new PHPExcel_Writer_Exception("Could not close zip file $pFilename.");
}
所以問題的原因是$ objZip-> close()=== false其中$ objZip是ZipArchive類的一個實例。
問題的原因是什么,如何解決?謝謝。
總結
以上是生活随笔為你收集整理的php 输出excepion内容,带有消息“无法关闭zip文件php://输出”的PHPExcel_Writer_Exception...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 菏泽市牡丹区思哲布艺加工厂上下班时间点,
- 下一篇: 奇瑞小蚂蚁前挡风玻璃是双层玻璃吗