PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题

PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

      在项目中要用ZipArchive解压ZIP文件,起初測试环境在WINDOWS平台中,測试通过,换到 LINUX+nginx 的环境中时 就出问题了(ZIP包中有文件和目录一共3百多个文件,大部分是带汉字的文件名称),问题的现象是:不带汉字的文件解压没有问题,另外有部分带汉字和数字字母的文件解压没有问题,然后其它纯文字的文件名称就丢失了,也没有报错,最后把问题定位到了extractTo()方法,这种方法尼玛是个封装的方法,看不到实际的源码。
      可是,发现 for($i = 0; $i < $zip->numFiles; $i++) 这里却能够找到全部的文件,个数是正常的,那么问题就出现解压后的 copy环节了。那么是不是能够借助这个循环自己解压,自己copy文件呢??

     于是
    for($i = 0; $i < $zip->numFiles; $i++) {
       $filename = $zip->getNameIndex($i);

    if(!is_dir($filename)){
          copy(“zip://”.$path.”#”.$filename, $topath.$filename);
    }else{
         @mkdir($topath.’/’.$filename, 0777);
    }
   }     

  问题攻克了哈。  找这个问题浪费了 我一天时间!! 希望对碰到相同 文件在解压的时候丢失的同学有帮助哈。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117958.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LaTeX参考文献引用显示?问号解决办法!!!!「建议收藏」

    LaTeX参考文献引用显示?问号解决办法!!!!「建议收藏」在使用Latex之前,我们一般会借用已有的论文模板,在模板基础上加入我们自己的文章内容,随后编译成PDF文件,其基本流程就是:Latex->Bibtex->Latext->Latex。1、第一步点击Latex编译,可以获得*.aux文件、.dvi文件、.log文件以及*.gz文件;2、第二步点击Bibtex编译,可以获得*.blg(性能监视器文件)和*.bbl文件;3、第三…

    2025年10月11日
    3
  • 考哪些证书国家有补贴_提交书证申请书范本

    考哪些证书国家有补贴_提交书证申请书范本当下的互联网应用如果是外网访问,一般都是https方式访问,需申请https证书目录Whyhttps?Whatishttps?Howtocreatehttps?Whyhttps?http明文传输不安全,因此需要进行加密处理,加密后端http就是httpsWhatishttps?https涉及很多概念,对称非对称加密、CA、数字签名、证书等等。有兴趣查看这里漫画解说https这里简要总结:A(客户端浏览器)——通过https://www.

    2022年10月1日
    4
  • 时滞系统matlab仿真_时滞模型的matlab编程

    时滞系统matlab仿真_时滞模型的matlab编程ddesd求解带有常规时滞的时滞微分方程(DDE)语法sol=ddesd(ddefun,delays,history,tspan)sol=ddesd(ddefun,delays,history,tspan,options)参数ddefun用于对微分方程y′(t)=f(t,y(t),y(d(1),…,y(d(k)))的右侧进行计算的函数句柄。此函数必须为以下形式:dydt=…

    2022年9月1日
    4
  • vmware15最新激活码2021(注册激活)[通俗易懂]

    (vmware15最新激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZP…

    2022年3月20日
    210
  • 量子搜索算法例题详解_量子算法与编程入门

    量子搜索算法例题详解_量子算法与编程入门量子搜索算法Groversearch问题定义:Problem:f:{0,1,2,3,……,N−1}→{0,1}f:{0,1,2,3,……,N−1}→{0,1}找到f(x)=1的x解法经典解法:经典解法很简单,就是把每一个都看一遍,如果只有一个x对应的f(x)=1,那么平均是要看一半,才能找到那个x。时间复杂度O(N)量子解法:使用Groversea…

    2025年5月22日
    5
  • VS 2017 产品密钥

    VS 2017 产品密钥个人分类 nbsp vs2010Visual VS2017 企业版 Enterprise 注册码 NJVYC BMHX2 G77MM 4XJMR 6Q8QFVisualS VS2017 专业版 Professional 激活码 key KBJFW NXHK6 W4WJM CRMQB G3CDH 启动 VS 之后 在菜单栏有个帮助的下拉框 选择注册产品

    2025年7月16日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号