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...