本文实例讲述了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程序设计有所帮助。