Добрый вечер.
Вот рабочий пример, распаковка архива с изображениями.
Сделано для yii2, но Вы, я уверен, сможете переделать под свои нужды
$unzip = new ZipArchive();
if($unzip->open($file[0]->tempName) === true){
for ($i = 0; $i < $unzip->numFiles; $i++){
$filename = $unzip->getNameIndex($i);
$fileinfo = pathinfo($filename);
$new_title = Yii::$app->security->generateRandomString();
if(copy('zip://' . $file[0]->tempName . '#' . $filename, Yii::getAlias('@webroot') . '/' . $path . '/' . $new_title . '.' . $fileinfo['extension'])){
$this->saveImage($path, $new_title . '.' . $fileinfo['extension'], $this->id);
}
}
$unzip->close();
return true;
}
else{
return false;
}