HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/bs.kntsleep.com/system/basic/class/zip.class.php
<?php
/*
 * Copyright (c) Huyin Information Technology Co., Ltd. All Rights Reserved.
 * BOSSCMS Content Management System (https://www.bosscms.net/)
 */
defined('IS_OK') or exit('Access Forbidden');

class zip
{
	/*
	 ** 压缩zip文件
	 *
	 * params string $file zip文件地址
	 * params string $path 压缩文件或文件地址
	 * params string $dir 压缩文件包里的路径
	*/
	public static function add($file, $path, $dir='')
	{
        if($file && $path && class_exists("ZipArchive")){
			if(!is_file($file)){
				dir::create($file);
			}
			if($dir){
				$dir = dir::replace($dir.'/');
			}
			$zip = new ZipArchive();
			if(!$zip->open($file)){
				return false;
			}
			if(is_file($path)){
				$name = basename($path);
				$zip->addFile($path, $dir.$name);
			}else if(is_dir($path)){
				$all = dir::readall($path);
				foreach($all as $v){
					$zip->addFile($path.$v, $dir.$v);
				}
			}
			$zip->close();
			return true;
        }
		return false;
	}
	
	/*
	 ** 解压zip文件
	 *
	 * params string $file zip文件地址
	 * params string $path 解压文件存放地址
	*/
	public static function unzip($file, $path)
	{
        if($file && $path && class_exists("ZipArchive")){
			$zip = new ZipArchive();
			if(!$zip->open($file)){
				return false;
			}
			$zip->extractTo($path);
			$zip->close();
			return true;
        }
		return false;
	}
}
?>