PHP使用 zip 擴充套件壓縮檔案

2022-05-02 09:18:11 字數 1335 閱讀 8838

第乙個想法就是使用exec在linux進行打包。但是...exec方法吧,你懂得,我不太願意使用這個函式。

於是上網查詢,結果就是,我低估了php對於io的操作,給我的教訓是,以後遇到什麼問題應該先考慮怎麼從**層面解決,如果不行再考慮其他的。

安裝zip擴充套件的方法不多說,網上一搜一大片。

這裡主要說它的簡單實用方法【學習東西應該嘗試去php官方文件檢視,那裡給出了全面的demo,不應該一直依賴baidu.com】

這裡簡單介紹zip

例項化

$zip = new \ ziparchive();

open方法,看一下官方對於這個方法的解釋

mixed ziparchive::open ( string $filename [, int $flags ] )

第乙個當然是你要開啟的zip檔案路徑,第二個可選引數

記錄幾個常用引數

ziparchive::create(integer)

如果不存在則建立乙個zip壓縮包。

ziparchive::overwrite(integer)

總是以乙個新的壓縮包開始,此模式下如果已經存在則會被覆蓋。

還有很多,這裡就不列舉了,需要的話可以在文件上去查

這裡我們建立我的.zip

$res = $zip->open('test.zip', $zip::create);

迴圈寫入我需要打包的內容

if ($res === true) 

$zip->close();

}

這樣在你的根目錄下就會有乙個 text.zip的壓縮包。

這裡只簡單的說明了打包檔案的用法,在之後的使用過程中肯定會使用更多的地方。

下面貼上整體**,裡面可能有我的業務部分在裡面。篩選一下就可以了

$attachments = those('attachment')->whose('performance')->is($performance);

$zip = new \ ziparchive();

// 建立zip-如果沒有則建立

$file_path = data_dir . "/attachment//";

$file_name = '績效考核-'.$performance->name.'-'.time().'.zip';

$res = $zip->open($file_path . $file_name, $zip::create);

if ($res === true)

$zip->close();

}

zip壓縮檔案(二)

普通壓縮檔案以20m大小的檔案為例 public static void main string args public static void zipfilenobuffer string zipfilepath,string sourcefilepath input.close zipout.c...

php讀取zip壓縮檔案(流操作)

php裡面支援讀很多偽協議的流 其中就包括zip流 對於zip包我們通用的做法是通過 zip 擴充套件解壓 然後讀檔案,這裡提供乙個很少人知道的 流操作 讀取zip壓縮包。先看下效果 上 t.zip是檔名 test.py 是你要直接讀的檔案 file protocol zip fp fopen fi...

Python讀寫zip壓縮檔案

python自帶模組zipfile可以完成zip壓縮檔案的讀寫,而且使用非常方便,下面我們就來演示一下python讀寫zip檔案。下面的 給出了用python讀取zip檔案,列印出壓縮檔案裡面所有的檔案,並讀取壓縮檔案中的第乙個檔案。import zipfile z zipfile zipfile ...