PHP ZipArchive 解壓Zip檔案

2022-05-23 14:36:18 字數 885 閱讀 5481

php ziparchive 是php自帶的擴充套件類,可以輕鬆實現zip檔案的壓縮和解壓.

這裡記錄一下自己在專案中用到它來解壓縮,然後讀取裡面的檔案。

$zip = new ziparchive;//

新建乙個ziparchive的物件

$pic_dir = '/'; //

檔案所在的絕對路徑

if ($zip->open($zip_name) === true

) }

//解壓縮到某個位置

$zip->extractto($pic_dir

);

//關閉

$zip->close();}//

解壓縮後就可以逐個讀取資料夾裡面的檔案

$files = scandir($file_arr[0])

後續發現的問題 資料夾中的檔名稱如果包含某些中文或者字元, $zip->extractto 會解壓失敗,報錯 file open failed...... 這些,就是開啟不了檔案。

太懶了,這裡先簡單記錄一下自己的解決過程:

1,先對檔名   urlencode(base64_encode($filename))   ;然後重新命名壓縮包裡的檔案 $zip->renamename($filename, $newfilename); ,這樣就可以對中文那些壓縮了

2,通過解壓後,記得把檔名稱還原回去,不然都是序列後的亂碼,自己也找不到檔名稱, base64_decode(urldecode($filename)) ;

tips: windows環境下測試要轉成gbk, 因為預設windows預設gbk,  $filename = mb_convert_encoding($imgs[$filename], 'gbk', 'utf-8'); 

php ZipArchive 使用問題記錄

關於這個的使用,有文件 在linux系統下使用ziparchive壓縮檔案,採用ziparchive overwrite方式,發現開啟失敗,列印返回的錯誤碼為 9,檢視官方文件 錯誤碼9代表沒有這個檔案,zip new ziparchive res zip open zip file path,zi...

VC實現解壓 隱藏解壓視窗

當前路徑解壓命令 shellexecute null,open winrar.exe e abc.rar abc.txt sw hide 絕對路徑 shellexecute null,open winrar.exe x c abc.rar c abc.txt sw hide 壓縮命令 後面的引數一定...

python解壓gz linux怎樣解壓 gz檔案

gzip bzip2 1.使用 gzip 程式來壓縮和解壓縮檔案 gzip 是乙個使用 lempel ziv 編碼 lz77 演算法來壓縮和解壓縮檔案的實用工具。1.1 壓縮檔案 如果要壓縮乙個名為 ostechnix.txt 的檔案,使之成為 gzip 格式的壓縮檔案,那麼只需執行如下命令 gzi...