thinkPHP fastadmin php上传文件提示ZipArchive::getFromName(): Invalid or uninitialized Zip object

thinkPHP fastadmin PHP上传文件提示ZipArchive::getFromName(): Invalid or uninitialized Zip object

出现上述问题,先说解决办法,请按照按照以下操作检查:

1、可能是刚从网页下载下来的文件没有权限,试试另存为本地文件看看

2、上传文件存放的文件夹的权限是否是可读的

3、检查php是否有操作tmp系统缓存文件的权限

4、安装php_zip扩展

5、服务器也安装zip unzip扩展

-----------------------------------------分割线----没有意义的内容-----------------------------------------------------

时间很宝贵,既然找到这里的,肯定是想急迫看到解决办法,大家都没有时间看一万几千字的整个发现问题的过程,在最后的最后的才给出解决办法,还是先上问题的答案,再上过程,没时间的直接根据上述的方法步骤走,根据上面的办法走了,都解决不了的,就证明你发的答案不管用,还看什么过程。当然,有时间的就看看发现过程,是不是和自己的情况类似,顺便看看别人解决问题的思维和步骤。

我这边出现的情况是:

1、在网页上下载一个需要导入的excel文件,再上传到部署环境为windows的fastadmin项目里面中上传的时候直接提示:ZipArchive::getFromName(): Invalid or uninitialized Zip object;

2、首先是定位分析问题,有个大概的怀疑对象:

(1)代码的问题【引用安装失败或逻辑出错】

(2)环境问题【拓展没装】

(3)权限问题【存放文件目录没有权限、文件没有权限打开】

3、按照上述的步骤排查,(1)打印一下引入的对象,正常输出(2)去检查一遍zip的拓展,输出phpinfo()(3)windows系统下一般都有权限读取文件夹权限,新建个txt,读取一下试试,嗯,正常读取。最后就检查上传的文件

4、选中要上传的文件,右键-属性,发现提示如下,此文件是被阻止的。接着打开文件,选择另存为,明明是xlsx类型的文件,却显示et格式的内容,直接在文件类型下拉框中,选择excel类型,重新保存。

5、再次上传就成功了。

题外话:怎么会怀疑到这些问题上,就好比8+5等于多少,你一下就能说出是13,小孩子要扳手指才能知道是几。问题分析积累,熟能生巧而已。当然也有经验和天赋并存的大神一下子就能知道啥问题。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值