diff --git a/helper/compress.zip.php b/helper/compress.zip.php new file mode 100644 index 0000000..35c3c29 --- /dev/null +++ b/helper/compress.zip.php @@ -0,0 +1,31 @@ + + +if(!check_function_exists("unzip")) { + function unzip($src, $dst, $options=array()) { + $flag = false; + + $method = get_value_in_array("method", $options, "ZipArchive"); + switch($method) { + case "ZipArchive": + $handle = new ZipArchive; + $res = $handle->open($src); + if ($res === TRUE) { + $zip->extractTo($dst); + $zip->close(); + $flag = true; + } + break; + + case "unzip": + if(loadHelper("exectool")) { + exec_command(sprintf("unzip -d '%s' '%s'", make_safe_argument($src), make_safe_argument($dst))); + $flag = true; + } + break; + } + + return $flag; + } +}