【发布时间】:2018-03-28 22:10:17
【问题描述】:
如何压缩或压缩目录,然后使用php 脚本连同其文件和子目录一起解压缩。
我有一个需要压缩的目录,然后转移到另一台服务器,然后解压缩到一个新目录,并为其赋予新名称。
PATH.'/'.$TO.'/'.$DIR_WITH_DIR_NAME
【问题讨论】:
标签: php zip unzip ziparchive
如何压缩或压缩目录,然后使用php 脚本连同其文件和子目录一起解压缩。
我有一个需要压缩的目录,然后转移到另一台服务器,然后解压缩到一个新目录,并为其赋予新名称。
PATH.'/'.$TO.'/'.$DIR_WITH_DIR_NAME
【问题讨论】:
标签: php zip unzip ziparchive
首先,如果您想使用php 执行zipping 和unzipping 操作,则必须安装php zip 扩展,因为我使用Ubuntu 作为我的操作系统和php7.0 在我的服务器上我使用这个命令安装了它。
sudo apt-get install php7.0-zip
对于压缩父目录和其他子目录及其文件,您可以使用批准的答案中给出的this method。我自己使用过,最好这样做。
使用php cURL 将文件传输到其他服务器。现在要将文件夹解压缩到新文件夹中,无论您尝试在哪个文件夹中提取文件,首先使用此 php 代码创建该目录。
@mkdir(PATH.'/'.$TO.$NEW.'/'.$DIR_WITH_DIR_NAME,0777,true);
这将创建目录并赋予它所有读/写权限 现在使用此代码提取目录
$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';
}
就是这样,所有的文件都将被提取到新创建的目录中,享受愉快的编码。
【讨论】: