Работа с архивами через класс ZipArchive

    $za = new ZipArchive();
    if($za->open('file.zip') === true){
        // Прочитать имя первого файла в архиве
        $file = $za->getNameIndex(0);
        // Прочитать содержимое первого файла непосредственно из архива
        $cont = $za->getFromIndex(0);
        // Извлечь из архива все файлы в указанную папку
        $za->extractTo('/tmp/dir/');
        // Извлечь из архива только указанные файлы
        $za->extractTo('/tmp/dir/', array($file, $file2));
        $za->close();
    }