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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python解释器安装教程的方法步骤

    python解释器安装教程的方法步骤1.首先,打开python的官网:python.org2.首页downloads下打开,3.最上边是两个最新的版本,长期计划,推荐使用python3,如果长期打算用p3,默认使用最新版本。如果想要

    2022年7月5日
    26
  • hogwarts sorting hat_huge squares

    hogwarts sorting hat_huge squares1.概述murmurhash是AustinAppleby于2008年创立的一种非加密hash算法,适用于基于hash进行查找的场景。murmurhash最新版本是MurMurHash3,支持32位、64位及128位值的产生。murmurhash标准使用c++实现,但是…

    2022年8月31日
    5
  • 【YOLO学习】召回率(Recall),精确率(Precision),平均正确率(Average_precision(AP) ),交除并(Intersection-over-Union(IoU))

    在训练YOLOv2的过程中,系统会显示出一些评价训练效果的指标,包括Recall,IoU等等。为了怕以后忘了,现在把自己的理解记录一下。这一文章首先假设一个测试集,然后围绕这一测试集来介绍这几种指标的计算方式。

    2022年4月12日
    190
  • extremedb同步mysql_数据库选型之内存数据库eXtremeDB[通俗易懂]

    extremedb同步mysql_数据库选型之内存数据库eXtremeDB[通俗易懂]刘勇Email:lyssym@sina.com简介鉴于内存数据库访问速率快的特点,本文分别从单线程、多线程(并发访问)和多线程读/写混合访问角度对eXtremeDB数据库读写速率展开测试。需要指出的是,本文读取操作包含将数据读取后,并在控制台显示出来。测试结果表明:eXtremeDB在单一读/写访问时,速率大约在10w条/s,其速率是比较快的;同时相对单线程来说,多线程读或者写操作并发访问…

    2022年10月14日
    2
  • 图解Java 垃圾回收机制

    图解Java 垃圾回收机制Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。垃圾回收机制的引入有效地解决了内存的回收问题使得他们在编写程序的时候不再需要考虑内存管理。本文首先着重介绍了判断一个对象是否可以被回收的两种经典算法,并详述了四种典型的垃圾回收算法的基本思想及其直接应用——垃圾收集器,最后结合内存回收策略介绍了内存分配规则。

    2022年6月11日
    32
  • JVM异常FGC问题查找过程总结

    JVM异常FGC问题查找过程总结问题现象及分析可能原因分析手动重现异常大对象问题流量暴涨CPU资源被其他进程占用内存被其他进程占用的情况swap分区问题数据库连接异常堆文件分析shell脚本JVM问题排查总结其他遗留的问题前段时间线上的zzuser的服务模块出现大量的异常FGC情况,经过大量排查工作,最后锁定是因为一个sql的大查询导致的。这也给了我非常大的教训,同时我在这次问题的排查过程中也获益匪浅,

    2022年6月19日
    31

发表回复

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

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