Maison >développement back-end >tutoriel php >PHPExcel插件使用中Could not close zip file uploadfiles/EasyA
使用的在CI 框架中使用的phpexcel插件在服务器上可以用了(之前别人写的),但是同样的代码在本地就是不行,还出现错误,如下:
Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file uploadfiles/EasyADReport-5590e7006ebed-固定位排期-20150722101220.xlsx.' in D:\svn\smartAd\trunk\application\libraries\PHPExcel\Writer\Excel2007.php:380 Stack trace: #0 D:\svn\smartAd\trunk\application\controllers\report\query.php(915): PHPExcel_Writer_Excel2007->save('uploadfiles/Eas...') #1 [internal function]: Query->Excel() #2 D:\svn\smartAd\trunk\system\core\CodeIgniter.php(359): call_user_func_array(Array, Array) #3 D:\svn\smartAd\trunk\index.php(294): require_once('D:\svn\smartAd\...') #4 {main} thrown in D:\svn\smartAd\trunk\application\libraries\PHPExcel\Writer\Excel2007.php on line 380
请问高手如何解决,使用的win7系统
Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file
致命错误:未捕获的异常的异常的消息“无法关闭ZIP文件
可能是你的病毒防火墙打开了你的文件
1.权限问题
2.中文名问题
Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file
致命错误:未捕获的异常的异常的消息“无法关闭ZIP文件
可能是你的病毒防火墙打开了你的文件
1.权限问题
2.中文名问题
1.权限问题
2.中文名问题
今天我的组长终于帮我找到了答案,这里出现的问题是由于导出时候出现的一个问题,在linux下没有,但是windows下因为导出的是gbk格式的 所以在导出的时侯含有中文的话就会有弹出关闭不了的情况,应该关闭的是乱码。正确的代码 save方法那部分
$path='uploadfiles/'; $output['url']=$path.'EasyADReport-'.$args['plan'].'-'.mb_convert_encoding($arrPlan['name'],'gbk','UTF-8').'-'.date('YmdHis').'.xlsx'; $output['url1']=$path.'EasyADReport-'.$args['plan'].'-'. $arrPlan['name'].'-'.date('YmdHis').'.xlsx'; $objWriter=PHPExcel_IOFactory::createWriter($this->phpexcel,'Excel2007'); $objWriter->save($output['url']); //$output['url']=$this->config->config['base_url'].$output['url']; $output['url']=$this->config->config['base_url']. $output['url1'];
一般windows下面用gbk,第二行不如换成:
$output['url']=$path.'EasyADReport-'.$args['plan'].'-'.((strtolower(substr(PHP_OS,0,3))=='win') ? mb_convert_encoding($arrPlan['name'],'gbk','UTF-8') : $arrPlan['name']).'-'.date('YmdHis').'.xlsx';
http://bbs.csdn.net/topics/391079330
一般windows下面用gbk,第二行不如换成:
$output['url']=$path.'EasyADReport-'.$args['plan'].'-'.((strtolower(substr(PHP_OS,0,3))=='win') ? mb_convert_encoding($arrPlan['name'],'gbk','UTF-8') : $arrPlan['name']).'-'.date('YmdHis').'.xlsx';