第乙個想法就是使用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 ...