本文实例讲述了php简单创建zip压缩文件的方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/* creates a compressed zip file */ function create_zip( $files = array (), $destination = '' , $overwrite = false) { //if the zip file already exists and overwrite is false, return false if ( file_exists ( $destination ) && ! $overwrite ) { return false; } //vars $valid_files = array (); //if files were passed in... if ( is_array ( $files )) { //cycle through each file foreach ( $files as $file ) { //make sure the file exists if ( file_exists ( $file )) { $valid_files [] = $file ; } } } //if we have good files... if ( count ( $valid_files )) { //create the archive $zip = new ZipArchive(); if ( $zip ->open( $destination , $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } //add the files foreach ( $valid_files as $file ) { $zip ->addFile( $file , $file ); } //debug //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status; //close the zip -- done! $zip ->close(); //check to make sure the file exists return file_exists ( $destination ); } else { return false; } } |
使用方法:
1
2
3
4
5
6
7
8
9
10
|
$files_to_zip = array ( 'preload-images/1.jpg' , 'preload-images/2.jpg' , 'preload-images/5.jpg' , 'kwicks/ringo.gif' , 'rod.jpg' , 'reddit.gif' ); //if true, good; if false, zip creation failed $result = create_zip( $files_to_zip , 'my-archive.zip' ); |
希望本文所述对大家PHP程序设计有所帮助。