定制 victor78/zippy-ext 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

victor78/zippy-ext

Composer 安装命令:

composer require victor78/zippy-ext

包简介

The 7-Zip integration for the Zippy.

README 文档

README

CI Latest Stable Version License Total Downloads

ZippyExt (aka ZippyExtended) is a library extended over Zippy providing the strategy and adapter for using 7-Zip, including password support.

Requirements

  • PHP >= 8.1
  • 7-Zip (7za or 7z in PATH) — required only for 7zip adapter

PHP Compatibility

ZippyExt PHP
1.x 8.1–8.3
0.x 7.0+

Installation

The only supported installation method is via Composer. Run the following command to require ZippyExt in your project:

composer require victor78/zippy-ext

Adapters

ZippyExt currently supports the following drivers and file formats:

  • zip
    • .zip
  • PHP zip extension
    • .zip
  • GNU tar
    • .tar
    • .tar.gz
    • .tar.bz2
  • BSD tar
    • .tar
    • .tar.gz
    • .tar.bz2
  • 7zip
    • .zip (with optional AES-256 password encryption)

Getting started

All the following code samples assume that ZippyExt is loaded and available as $zippy. You need the following code (or variation of) to load ZippyExt:

<?php

use Victor78\ZippyExt\Zippy;

// Require Composer's autoloader
require __DIR__ . '/vendor/autoload.php';

// Load Zippy
$zippy = Zippy::load();

List an archive's contents:

// Open an archive
$archive = $zippy->open('build.tar');

// Iterate through members
foreach ($archive as $member) {
    echo "Archive contains $member" . PHP_EOL;
}

Extract an archive to a specific directory:

// Open an archive
$archive = $zippy->open('build.tar');

// Extract archive contents to `/tmp`
$archive->extract('/tmp');

Create a new archive

// Creates an archive.zip that contains a directory "folder" that contains
// files contained in "/path/to/directory" recursively
$archive = $zippy->create('archive.zip', array(
    'folder' => '/path/to/directory'
), true);

Use 7zip

If you need to use 7zip archiving to create a zip archive, use the fourth parameter:

// Creates an archive.zip using the 7zip engine
$archive = $zippy->create('archive.zip', $files, true, '7zip');

To create an AES-256 encrypted archive, pass the password as the fifth parameter:

// Creates an archive.zip with AES-256 encryption
$archive = $zippy->create('archive.zip', $files, true, '7zip', 'your_password');

To open and extract a password-protected 7zip archive:

// Open archive with password
$archive = $zippy->open('archive.zip', '7zip', 'your_password');
$archive->extract('folder_for_extracted');

Known Limitations

  • Password protection is only supported with the 7zip adapter. Standard zip and tar adapters ignore the password parameter.
  • extractMembers() is not supported for the 7zip adapter (use extract() instead).
  • .zip is ambiguous: by default, open('file.zip') may resolve to standard zip strategy. If you need 7zip-specific behavior (including password flow), pass type explicitly: open('file.zip', '7zip', 'your_password').

Documentation

Documentation in English and Russian is available in the wiki.

License

This project is licensed under the MIT license.

统计信息

  • 总下载量: 34.92k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 20
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-03-30

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固