【发布时间】:2015-12-26 02:17:30
【问题描述】:
是否可以拦截目录的解压来更改解压后的文件夹名称?
我正在使用 PHP ZipArchive 类来执行此操作。解压工作正常,我只想在解压后的文件夹名称中添加一个时间戳。
$zip = new ZipArchive;
if ($zip->open($zipFile, ZipArchive::CREATE) === TRUE) {
$zip->extractTo($destinationFolder);
$zip->close();
} else {
return FALSE;
}
编辑:为了进一步解释需要,我的功能目前正在解压缩时覆盖同名文件夹。我希望将时间戳附加到新文件夹以防止这种情况发生。
【问题讨论】:
-
您是否尝试过在成功解压缩后重命名文件夹?
-
问题是它覆盖了同名的文件夹...添加时间戳可以防止这种情况发生。
-
另一种选择是将其解压缩到一个临时文件夹中,其中内容无关紧要,可以随意覆盖,然后将文件夹移动到其最终的位置并使用新名称。 - 这通常是网站上文件上传的方式,因此如果上传中途取消,您不会有一堆损坏的文件漂浮在周围。
-
您可以使用
milliseconds作为文件夹名称,这样您最终会得到一个唯一的timestamp
标签: php unzip file-rename ziparchive php-zip-archive