-
-
/* 圧縮 zip ファイルを作成します */ - function create_zip($files = array(),$destination = '',$overwrite = false) {
- // zip ファイルがすでに存在し、上書きが false の場合、false を返します
- if(file_exists($destination) && !$overwrite) { return false; }
- //vars
- $valid_files = array();
- //ファイルが渡された場合...
- if(is_array($files)) {
- //各ファイルを循環
- foreach($files as $file) {
- //ファイルが存在することを確認してください
- if(file_exists($file)) {
- $valid_files[] = $file;
- }
- }
- }
- //適切なファイルがあれば...
- if(count( $valid_files)) {
- //アーカイブを作成します
- $zip = new ZipArchive();
- if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true ) {
- return false;
- }
- //ファイルを追加します
- foreach($valid_files as $file) {
- $zip->addFile($file,$file);
- }
- //debug
- //echo ' zip アーカイブには、ステータスが ',$zip->numFiles' ファイルが含まれています。
//zip を閉じます -- 完了!
- $zip ->close();
//ファイルが存在することを確認します
- return file_exists($destination);
- }
- else
- {
- return false;
- }
- }
- / ***** 使用例 ***/
- $files=array('file1.jpg', 'file2.jpg', 'file3.gif');
- create_zip($files, 'myzipfile.zip', true);
- ?> ;
-
复制代
|