11
08月
2015
15. 压缩 zip 文件
使用下面的 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
40
|
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
|
<?php
$files = array ( 'file1.jpg' , 'file2.jpg' , 'file3.gif' );
create_zip( $files , 'myzipfile.zip' , true);
?>
|
特殊说明,本文版权归 ning个人博客 所有带原创标签请勿转载,转载请注明出处.