php zip解压乱码怎么办

  介绍

小编给大家分享一下php zip解压乱码怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

php zip解压乱码的解决办法:首先将中文压缩包名用iconv函数转码,然后通过ZipArchive的对象处理zip文件,最后关闭处理的zip文件即可。

 php zip解压乱码怎么办


& lt; php ?   $ zip=新\ ZipArchive;   $ zipfile=啊?test.zip";   res美元=$ zip→开放(zipfile美元);   $ toDir=啊?test";   $ s=$ zip→extractTo ($ toDir);   print_r (scandir (toDir美元));//Dorm_Script//链接:http://www.jianshu.com/p/3efa924fd809


& lt; php ?   $ zip=新\ ZipArchive;   $ zipfile=啊?test.zip";   res美元=$ zip→开放(zipfile美元);      $ toDir=啊?test";   如果(! file_exists (toDir美元)){   mkdir ($ toDir);   }   美元docnum=$ zip→numFiles;   ($ i=0;美元我& lt;docnum美元;$我+ +){   美元statInfo=$ zip→statIndex ($ i);   if ($ statInfo [& # 39; crc # 39;]==0) {//新建目录   mkdir(本市toDir # 39;美元/& # 39;.substr (statInfo美元[& # 39;名字# 39;],0,1));   其他}{//拷贝文件   复制(& # 39;邮政编码://& # 39;。美元zipfile强生# 39;# & # 39;。美元statInfo[& # 39;名字# 39;],美元toDir强生# 39;/& # 39;。美元statInfo[& # 39;名字# 39;]);   }   }      print_r (scandir (toDir美元));//Dorm_Script//链接:http://www.jianshu.com/p/3efa924fd809


//zip文件名   $ fileName=& # 39;中文. zip # 39;;//zip文件相对服务器根目录的保存路径   uploads_dir=?美元/公共/zipUpload";//zip文件完整的保存路径   _SERVER $ zipName=[& # 39; document_root # 39;]。美元uploads_dir强生# 39;/& # 39;美元文件名;//将目标路径名称赋值为文件名最后的& # 39;. zip # 39;四个字符之外的全部字符构成的字符串   _SERVER $ toDir=[& # 39; document_root # 39;]。美元uploads_dir强生# 39;/& # 39;.substr(文件名,美元0,strlen ($ fileName) 4);      $ zip=新\ ZipArchive;//新建一个ZipArchive的对象/*   通过ZipArchive的对象处理zip文件   $ zip→打开这个方法的参数表示处理的zip文件名。   如果对邮政文件对象操作成功,$ zip→打开这个方法会返回现实   */res美元=$ zip→打开(iconv (& # 39; utf - 8 # 39; & # 39; gb2312 # 39;, zipName美元));   如果(res美元===TRUE) {   如果(!is_dir (iconv (& # 39; utf - 8 # 39; & # 39; gb2312 # 39;, toDir美元))){   mkdir (iconv (& # 39; utf - 8 # 39; & # 39; gb2312 # 39;, toDir美元),0777年,真的);   }//$ zip→extractTo ($ toDir);   美元docnum=$ zip→numFiles;   ($ i=0;美元我& lt;docnum美元;$我+ +){   美元statInfo=$ zip→statIndex ($ i);   if ($ statInfo [& # 39; crc # 39;]==0) {//新建目录   mkdir (iconv (& # 39; utf - 8 # 39; & # 39; gb2312 # 39;,本市toDir # 39;美元/& # 39;。美元statInfo[& # 39;名字# 39;]),0777年,真的);   其他}{//拷贝文件,特别的改动,iconv的位置决定复制能不能工作   如果(复制(& # 39;邮政编码://& # 39;。iconv (& # 39; utf - 8 # 39;, & # 39; gb2312 # 39;, zipName美元)强生# 39;# & # 39;。美元statInfo[& # 39;名字# 39;],iconv (& # 39; utf - 8 # 39; & # 39; gb2312 # 39;,本市toDir # 39;美元/& # 39;。美元statInfo[& # 39;名字# 39;]))==false) {   回声& # 39;faild复制# 39;;   }   }   }      print_r (scandir (iconv (& # 39; utf - 8 # 39; & # 39; gb2312 # 39;, toDir美元)));   $ zip→close();//关闭处理的zip文件   }   其他{   回声& # 39;失败了,代码:& # 39;$ res强生# 39;& lt; br> & # 39;;   }


数组   (   [0]=比;.   [1]=比;. .   [2]=比;??   [3]=比;?   )


中文. zip
  ├──不
  │└──要
  │└──dance.txt
  └──要
  └──dance1。txt 

以上是php zip解压乱码怎么办的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

php zip解压乱码怎么办