-
- /* PHP创建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('1.php' , 'mail.php', 'readme.txt');
- create_zip($files, 'myzipfile.zip', true);
- ?>
复制代码
|