【发布时间】:2016-11-02 06:17:31
【问题描述】:
我只想从 zip 文件中提取图像,但我也希望它也提取在子文件夹中找到的图像。如何根据下面的代码实现这一点。注意:我不是试图保留目录结构在这里,只是想提取在 zip 中找到的任何图像。
//extract files in zip
for ($i = 0; $i < $zip->numFiles; $i++) {
$file_name = $zip->getNameIndex($i);
$file_info = pathinfo($file_name);
//if ( substr( $file_name, -1 ) == '/' ) continue; // skip directories - need to improve
if (in_array($file_info['extension'], $this->config->getValidExtensions())) {
//extract only images
copy("zip://" . $zip_path . "#" . $file_name, $this->tmp_dir . '/images/' . $file_info['basename']);
}
}
$zip->close();
编辑
我的代码运行良好,我只需要知道如何让 ziparchive 也进入子目录
【问题讨论】:
-
为什么你认为你的代码没有进入子目录?我用文件
a/b/c.png、d.png创建了a.zip。您的代码将d.png和c.png从a.zip提取到目标目录中。然后不清楚预期的行为是什么。 -
@Ruslan Osmanov 你是对的,代码工作正常......我得到的错误完全不相关
-
@Ruslan Osmanov 作为答案发布,以便我接受
标签: php php-7 ziparchive