使用 PHP 压缩和提取目录及其所有文件

Compressing and extracting a Directory with all its files using PHP

如何使用 php 脚本压缩或压缩目录,然后连同其文件和子目录一起解压缩。

我有一个目录需要压缩,然后转移到另一台服务器,然后解压到一个新的目录中,并赋予它新的名称。

PATH.'/'.$TO.'/'.$DIR_WITH_DIR_NAME

首先,如果您想使用 php 执行 zippingunzipping 操作,则必须安装 php zip 扩展,因为我正在使用 Ubuntu 作为我的服务器上的 OS 和 php7.0 我使用此命令安装了它。

sudo apt-get install php7.0-zip

要压缩父目录和其他子目录及其文件,您可以使用 this method 中给出的已批准 answer.i 我自己使用过并且最好这样做。

使用 php cURL 将文件传输到其他 server.Now 以将文件夹解压缩到新文件夹中,无论您要在哪个文件夹中提取文件,首先使用此 php 代码创建该目录。

@mkdir(PATH.'/'.$TO.$NEW.'/'.$DIR_WITH_DIR_NAME,0777,true);

这将创建目录并赋予其所有 read/write 权限 现在使用此代码提取目录

$zip = new ZipArchive;
if ($zip->open(PATH.'/'.$TO.$COMPRESSED.'/'.$FILE.'.zip') === TRUE) {

    if(is_dir(PATH.'/'.$TO.$NEW.'/'.$DIR_WITH_DIR_NAME)){
    $zip->extractTo(PATH.'/'.$TO.$NEW.'/'.$DIR_WITH_DIR_NAME);
    }
    $zip->close();
    echo 'extracted';
} else {
    echo 'error in file extracting';
}

就是这样,所有文件都将被提取到新创建的目录中,享受愉快的编码。