Heim > Artikel > Backend-Entwicklung > So lösen Sie das Problem verstümmelter chinesischer Dateinamen bei der PHP-Komprimierung
Lösung für verstümmelte chinesische Dateinamen bei der PHP-Komprimierung: Transkodieren Sie zuerst den chinesischen komprimierten Paketnamen mit der Funktion iconv und verarbeiten Sie dann die ZIP-Datei über das ZipArchive-Objekt.
Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 7.1, DELL G3-Computer
PHP dekomprimiert das ZIP-komprimierte Paket und löst das chinesische verstümmelte Problem
Repariert das chinesische verstümmelte Problem des nativen ZipArchive
Chinesischer zip-komprimierter Paketname und chinesische Dateinamen führen dazu, dass das mit PHP gelieferte ZipArchive verstümmelt wird, was dazu führt, dass die Methode „extractTo“ fehlschlägt:
<?php $zip = new \ZipArchive; $zipfile = "./test.zip"; $res = $zip->open($zipfile); $toDir = "./test"; $s = $zip->extractTo($toDir); print_r(scandir($toDir)); //作者:Dorm_Script //链接:http://www.jianshu.com/p/3efa924fd809
Lesen Sie in einem Blog nach, die ursprüngliche Lösung lautet:
<?php $zip = new \ZipArchive; $zipfile = "./test.zip"; $res = $zip->open($zipfile); $toDir = "./test"; if(!file_exists($toDir)) { mkdir($toDir); } $docnum = $zip->numFiles; for($i = 0; $i < $docnum; $i++) { $statInfo = $zip->statIndex($i); if($statInfo['crc'] == 0) { //新建目录 mkdir($toDir.'/'.substr($statInfo['name'], 0,-1)); } else { //拷贝文件 copy('zip://'.$zipfile.'#'.$statInfo['name'], $toDir.'/'.$statInfo['name']); } } print_r(scandir($toDir)); //作者:Dorm_Script //链接:http://www.jianshu.com/p/3efa924fd809
Aber wenn $zipfile ist Chinesische Codierung, es handelt sich um ein komprimiertes Paket. Wenn der Name chinesisch ist, schlägt die Dekomprimierung immer noch fehl. │ └── Gesucht
│ └── dance.txt
└── Gesucht
└── dance1.txt
Empfohlene Studie: „
PHP Video Tutorial“
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter chinesischer Dateinamen bei der PHP-Komprimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!