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

乏善可陈 2015-07-22 10:14:58
使用的在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系统
...全文
1108 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28418485 2015-10-05
  • 打赏
  • 举报
回复
其实是路径问题。可以这样测试,先save用一个文件名和后缀进行测试,不加任何的../../之类的也不加任何__ROOT__之类的,然后看保存在文件的哪个位置,然后便从该位置为起点位置进行../../之类的上到指定文件夹后者下到某个文件夹即可,我测试时候发现默认保存在index根目录同级那里。希望对你有帮助。
乏善可陈 2015-07-28
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/391079330
引用 7 楼 love01px 的回复:
一般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';
特别感谢 ,又学了一招!!
indexroot 2015-07-27
  • 打赏
  • 举报
回复
一般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';
乏善可陈 2015-07-27
  • 打赏
  • 举报
回复
今天我的组长终于帮我找到了答案,这里出现的问题是由于导出时候出现的一个问题,在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'];
lirenbing008 2015-07-22
  • 打赏
  • 举报
回复
引用 4 楼 tongweizhen 的回复:
[quote=引用 2 楼 lirenbing008 的回复:] 1.权限问题 2.中文名问题
中文名可以啊,服务器上就能下载下来的。。。权限看了我项目的文件夹权限 读写修改执行权限都是有的[/quote] Users或者everyone也有读写改的权限么
乏善可陈 2015-07-22
  • 打赏
  • 举报
回复
引用 2 楼 lirenbing008 的回复:
1.权限问题 2.中文名问题
中文名可以啊,服务器上就能下载下来的。。。权限看了我项目的文件夹权限 读写修改执行权限都是有的
乏善可陈 2015-07-22
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file 致命错误:未捕获的异常的异常的消息“无法关闭ZIP文件 可能是你的病毒防火墙打开了你的文件
我的唯一的防火墙Symantec Endpoint Protection已经被我禁用且停止了,重启电脑不行
lirenbing008 2015-07-22
  • 打赏
  • 举报
回复
1.权限问题 2.中文名问题
xuzuning 2015-07-22
  • 打赏
  • 举报
回复
Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file 致命错误:未捕获的异常的异常的消息“无法关闭ZIP文件 可能是你的病毒防火墙打开了你的文件

20,397

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧