Maison >développement back-end >tutoriel php >PHPExcel插件使用中Could not close zip file uploadfiles/EasyA

PHPExcel插件使用中Could not close zip file uploadfiles/EasyA

WBOY
WBOYoriginal
2016-06-23 13:29:493179parcourir

使用的在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文件

可能是你的病毒防火墙打开了你的文件



我的唯一的防火墙Symantec Endpoint Protection已经被我禁用且停止了,重启电脑不行

1.权限问题  
2.中文名问题



中文名可以啊,服务器上就能下载下来的。。。权限看了我项目的文件夹权限 读写修改执行权限都是有的


1.权限问题  
2.中文名问题



中文名可以啊,服务器上就能下载下来的。。。权限看了我项目的文件夹权限 读写修改执行权限都是有的
Users或者everyone也有读写改的权限么

今天我的组长终于帮我找到了答案,这里出现的问题是由于导出时候出现的一个问题,在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';



特别感谢 ,又学了一招!!
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn