我正在尝试在我的服务器上提取zip文件,有时这些文件包含MAC_STORE和用户不应该放在zip文件中的其他格式。
这是我尝试过的
public static function extractItem($path, $ext_path) {
$zip = new ZipArchive;
$zip->open($path);
$filename = array();
for ($i = 0; $i < $zip->numFiles; $i++) {
$stat = $zip->statIndex($i);
if ($stat['size'] != 0) {
$filename[] = basename($stat['name']);
}
}
}
如果zip文件包含.jpg,jpeg,png那么它没关系,如果它包含其他格式我想删除它们
以下是$filename array
Array
(
[0] => Screen Shot 2017-10-04 at 12.38.47 AM.png
[1] => ._Screen Shot 2017-10-04 at 12.38.47 AM.png
[2] => Screen Shot 2017-10-04 at 12.38.50 AM.png
[3] => ._Screen Shot 2017-10-04 at 12.38.50 AM.png
)
在zip文件中只有两个图像
答案 0 :(得分:0)
你只能提取带有.jpg,jpeg,png扩展名的文件,这里解释如下: php zipArchive unzip only certain extensions
但是你要用这个替换正则表达式:
preg_match('#.+([jpg|jpeg|png])$#i', $entry)