π€© File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:README.RU.md
`PhpZip` ======== `PhpZip` - php Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ZIP-Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ. [](https://travis-ci.org/Ne-Lexa/php-zip) [](https://scrutinizer-ci.com/g/Ne-Lexa/php-zip/?branch=master) [](https://packagist.org/packages/nelexa/zip) [](https://packagist.org/packages/nelexa/zip) [](https://php.net/) [](https://packagist.org/packages/nelexa/zip) [English Documentation](README.md) Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ---------- - [Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»](#Features) - [Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ](#Requirements) - [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°](#Installation) - [ΠΡΠΈΠΌΠ΅ΡΡ](#Examples) - [ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ](#Glossary) - [ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ](#Documentation) + [ΠΠ±Π·ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° `\PhpZip\ZipFile`](#Documentation-Overview) + [Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅/ΠΡΠΊΡΡΡΠΈΠ΅ ZIP-Π°ΡΡ ΠΈΠ²Π°](#Documentation-Open-Zip-Archive) + [Π§ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°](#Documentation-Open-Zip-Entries) + [ΠΠ΅ΡΠ΅Π±ΠΎΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ/ΠΡΠ΅ΡΠ°ΡΠΎΡ](#Documentation-Zip-Iterate) + [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π·Π°ΠΏΠΈΡΡΡ ](#Documentation-Zip-Info) + [ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²](#Documentation-Add-Zip-Entries) + [Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°](#Documentation-Remove-Zip-Entries) + [Π Π°Π±ΠΎΡΠ° Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΈ Ρ Π°ΡΡ ΠΈΠ²ΠΎΠΌ](#Documentation-Entries) + [Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ](#Documentation-Password) + [zipalign - Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Android ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (APK)](#Documentation-ZipAlign-Usage) + [ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ](#Documentation-Unchanged) + [Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ Π² Π±ΡΠ°ΡΠ·Π΅Ρ](#Documentation-Save-Or-Output-Entries) + [ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π°](#Documentation-Close-Zip-Archive) - [ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²](#Running-Tests) - [ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ](#Changelog) - [ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ](#Upgrade) + [ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ Π²Π΅ΡΡΠΈΠΈ 2 Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 3.0](#Upgrade-v2-to-v3) ### <a name="Features"></a> Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» - ΠΡΠΊΡΡΡΠΈΠ΅ ΠΈ ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ZIP-Π°ΡΡ ΠΈΠ²ΠΎΠ². - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ZIP-Π°ΡΡ ΠΈΠ²ΠΎΠ². - ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ZIP-Π°ΡΡ ΠΈΠ²ΠΎΠ². - Π§ΠΈΡΡΡΠΉ php (Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ `php-zip` ΠΈ ΠΊΠ»Π°ΡΡ `\ZipArchive`). - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° Π² ΡΠ°ΠΉΠ», Π²ΡΠ²ΠΎΠ΄ Π°ΡΡ ΠΈΠ²Π° Π² Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ, Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ». - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π°ΡΡ ΠΈΠ²Π° ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. - ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅. - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΆΠ°ΡΠΈΡ: + ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ (Stored). + Deflate ΡΠΆΠ°ΡΠΈΠ΅. + BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ `php-bz2`. - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° `ZIP64` (ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π±ΠΎΠ»Π΅Π΅ 4 GB ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅ Π±ΠΎΠ»Π΅Π΅ 65535). - ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ Π°ΡΡ ΠΈΠ²Π° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Android ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (APK) [`zipalign`](https://developer.android.com/studio/command-line/zipalign.html). - Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ Π΄Π»Ρ PHP 5.5 > **ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅!** > > ΠΠ»Ρ 32-bit ΡΠΈΡΡΠ΅ΠΌ, Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ `Traditional PKWARE Encryption (ZipCrypto)`. > ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ `WinZIP AES Encryption`, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. + Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π°ΡΡ ΠΈΠ²Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. + ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ Π°ΡΡ ΠΈΠ²Π°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. + Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ Π°ΡΡ ΠΈΠ²Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. + Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ/ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ Π΄Π»Ρ Π²ΡΠ΅Ρ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅. + Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·Π½ΡΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. + Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. + ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ `Traditional PKWARE Encryption (ZipCrypto)` ΠΈ `WinZIP AES Encryption (128, 192 ΠΈΠ»ΠΈ 256 bit)`. + Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅. ### <a name="Requirements"></a> Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ - `PHP` >= 5.5 (ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ 64-bit). - ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ php-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ `bzip2` Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ BZIP2 ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠΈ. - ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ php-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ `openssl` ΠΈΠ»ΠΈ `mcrypt` Π΄Π»Ρ `WinZip Aes Encryption` ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ### <a name="Installation"></a> Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° `composer require nelexa/zip` ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ: [](https://packagist.org/packages/nelexa/zip) ### <a name="Examples"></a> ΠΡΠΈΠΌΠ΅ΡΡ ```php // ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π° $zipFile = new \PhpZip\ZipFile(); try{ $zipFile ->addFromString('zip/entry/filename', "Is file content") // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ->addFile('/path/to/file', 'data/tofile') // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ->addDir(__DIR__, 'to/path/') // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ->saveAsFile($outputFilename) // ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π°ΡΡ ΠΈΠ² Π² ΡΠ°ΠΉΠ» ->close(); // Π·Π°ΠΊΡΡΡΡ Π°ΡΡ ΠΈΠ² // ΠΎΡΠΊΡΡΡΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π°, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ Π²ΡΠ²ΠΎΠ΄ Π°ΡΡ ΠΈΠ²Π° Π² Π±ΡΠ°ΡΠ·Π΅Ρ. $zipFile ->openFile($outputFilename) // ΠΎΡΠΊΡΡΡΡ Π°ΡΡ ΠΈΠ² ΠΈΠ· ΡΠ°ΠΉΠ»Π° ->extractTo($outputDirExtract) // ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ°ΠΉΠ»Ρ Π² Π·Π°Π΄Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ->deleteFromRegex('~^\.~') // ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΊΡΡΡΡΠ΅ (Unix) ΡΠ°ΠΉΠ»Ρ ->addFromString('dir/file.txt', 'Test file') // Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ->setPassword('password') // ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ->outputAsAttachment('library.jar'); // Π²ΡΠ²Π΅ΡΡΠΈ Π² Π±ΡΠ°ΡΠ·Π΅Ρ Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» } catch(\PhpZip\Exception\ZipException $e){ // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ } finally{ $zipFile->close(); } ``` ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ `tests/`. ### <a name="Glossary"></a> ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ **ΠΠ°ΠΏΠΈΡΡ Π² ZIP-Π°ΡΡ ΠΈΠ²Π΅ (Zip Entry)** - ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ° Π² ZIP-Π°ΡΡ ΠΈΠ²Π΅. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ, ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π΄ΠΎ ΡΠΆΠ°ΡΠΈΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΡΠ»Π΅ ΡΠΆΠ°ΡΠΈΡ, CRC32 ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ### <a name="Documentation"></a> ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ #### <a name="Documentation-Overview"></a> ΠΠ±Π·ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° `\PhpZip\ZipFile` - [ZipFile::__construct](#Documentation-ZipFile-__construct) - ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ΅Ρ ZIP-Π°ΡΡ ΠΈΠ². - [ZipFile::addAll](#Documentation-ZipFile-addAll) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°. - [ZipFile::addDir](#Documentation-ZipFile-addDir) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. - [ZipFile::addDirRecursive](#Documentation-ZipFile-addDirRecursive) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ c Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ. - [ZipFile::addEmptyDir](#Documentation-ZipFile-addEmptyDir) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ZIP-Π°ΡΡ ΠΈΠ² Π½ΠΎΠ²ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. - [ZipFile::addFile](#Documentation-ZipFile-addFile) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ZIP-Π°ΡΡ ΠΈΠ² ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ. - [ZipFile::addSplFile](#Documentation-ZipFile-addSplFile) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ `\SplFileInfo` Π² zip-Π°ΡΡ ΠΈΠ². - [ZipFile::addFromFinder](#Documentation-ZipFile-addFromFinder) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· `Symfony\Component\Finder\Finder` Π² zip Π°ΡΡ ΠΈΠ². - [ZipFile::addFilesFromIterator](#Documentation-ZipFile-addFilesFromIterator) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. - [ZipFile::addFilesFromGlob](#Documentation-ZipFile-addFilesFromGlob) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ glob ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. - [ZipFile::addFilesFromGlobRecursive](#Documentation-ZipFile-addFilesFromGlobRecursive) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ glob ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ c Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ. - [ZipFile::addFilesFromRegex](#Documentation-ZipFile-addFilesFromRegex) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. - [ZipFile::addFilesFromRegexRecursive](#Documentation-ZipFile-addFilesFromRegexRecursive) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ c Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ. - [ZipFile::addFromStream](#Documentation-ZipFile-addFromStream) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ZIP-Π°ΡΡ ΠΈΠ² Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ°. - [ZipFile::addFromString](#Documentation-ZipFile-addFromString) - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» Π² ZIP-Π°ΡΡ ΠΈΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. - [ZipFile::close](#Documentation-ZipFile-close) - Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ². - [ZipFile::count](#Documentation-ZipFile-count) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::deleteFromName](#Documentation-ZipFile-deleteFromName) - ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. - [ZipFile::deleteFromGlob](#Documentation-ZipFile-deleteFromGlob) - ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ glob ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ. - [ZipFile::deleteFromRegex](#Documentation-ZipFile-deleteFromRegex) - ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. - [ZipFile::deleteAll](#Documentation-ZipFile-deleteAll) - ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ZIP-Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::disableEncryption](#Documentation-ZipFile-disableEncryption) - ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::disableEncryptionEntry](#Documentation-ZipFile-disableEncryptionEntry) - ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ. - [ZipFile::extractTo](#Documentation-ZipFile-extractTo) - ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π°ΡΡ ΠΈΠ²Π° Π² Π·Π°Π΄Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. - [ZipFile::getAllInfo](#Documentation-ZipFile-getAllInfo) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::getArchiveComment](#Documentation-ZipFile-getArchiveComment) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ZIP-Π°ΡΡ ΠΈΠ²Π°. - [ZipFile::getEntryComment](#Documentation-ZipFile-getEntryComment) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ Π·Π°ΠΏΠΈΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Ρ ΠΈΠΌΡ. - [ZipFile::getEntryContent](#Documentation-ZipFile-getEntryContent) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΏΠΈΡΠΈ. - [ZipFile::getEntryInfo](#Documentation-ZipFile-getEntryInfo) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::getListFiles](#Documentation-ZipFile-getListFiles) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π°ΡΡ ΠΈΠ²Π°. - [ZipFile::hasEntry](#Documentation-ZipFile-hasEntry) - ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π·Π°ΠΏΠΈΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::isDirectory](#Documentation-ZipFile-isDirectory) - ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π·Π°ΠΏΠΈΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ. - [ZipFile::matcher](#Documentation-ZipFile-matcher) - Π²ΡΠ±ΠΎΡΠΊΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ. - [ZipFile::openFile](#Documentation-ZipFile-openFile) - ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ² ΠΈΠ· ΡΠ°ΠΉΠ»Π°. - [ZipFile::openFromString](#Documentation-ZipFile-openFromString) - ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ² ΠΈΠ· ΡΡΡΠΎΠΊΠΈ. - [ZipFile::openFromStream](#Documentation-ZipFile-openFromStream) - ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ² ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ°. - [ZipFile::outputAsAttachment](#Documentation-ZipFile-outputAsAttachment) - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ZIP-Π°ΡΡ ΠΈΠ² Π² Π±ΡΠ°ΡΠ·Π΅Ρ. - [ZipFile::outputAsResponse](#Documentation-ZipFile-outputAsResponse) - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ZIP-Π°ΡΡ ΠΈΠ², ΠΊΠ°ΠΊ Response PSR-7. - [ZipFile::outputAsString](#Documentation-ZipFile-outputAsString) - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ZIP-Π°ΡΡ ΠΈΠ² Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. - [ZipFile::rename](#Documentation-ZipFile-rename) - ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. - [ZipFile::rewrite](#Documentation-ZipFile-rewrite) - ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΠΉΡΡ Π°ΡΡ ΠΈΠ². - [ZipFile::saveAsFile](#Documentation-ZipFile-saveAsFile) - ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π°ΡΡ ΠΈΠ² Π² ΡΠ°ΠΉΠ». - [ZipFile::saveAsStream](#Documentation-ZipFile-saveAsStream) - Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π°ΡΡ ΠΈΠ² Π² ΠΏΠΎΡΠΎΠΊ. - [ZipFile::setArchiveComment](#Documentation-ZipFile-setArchiveComment) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ZIP-Π°ΡΡ ΠΈΠ²Ρ. - [ZipFile::setCompressionLevel](#Documentation-ZipFile-setCompressionLevel) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::setCompressionLevelEntry](#Documentation-ZipFile-setCompressionLevelEntry) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::setCompressionMethodEntry](#Documentation-ZipFile-setCompressionMethodEntry) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::setEntryComment](#Documentation-ZipFile-setEntryComment) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ Π·Π°ΠΏΠΈΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Ρ ΠΈΠΌΡ. - [ZipFile::setReadPassword](#Documentation-ZipFile-setReadPassword) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΠ°ΡΠΎΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π° Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. - [ZipFile::setReadPasswordEntry](#Documentation-ZipFile-setReadPasswordEntry) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΠ°ΡΠΎΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π°. - ~~ZipFile::withNewPassword~~ - ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ (**deprecated**) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ [ZipFile::setPassword](#Documentation-ZipFile-setPassword). - [ZipFile::setPassword](#Documentation-ZipFile-setPassword) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::setPasswordEntry](#Documentation-ZipFile-setPasswordEntry) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. - [ZipFile::setZipAlign](#Documentation-ZipFile-setZipAlign) - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ APK ΡΠ°ΠΉΠ»ΠΎΠ² (Android packages). - [ZipFile::unchangeAll](#Documentation-ZipFile-unchangeAll) - ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π°ΡΡ ΠΈΠ²Π΅. - [ZipFile::unchangeArchiveComment](#Documentation-ZipFile-unchangeArchiveComment) - ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ Π°ΡΡ ΠΈΠ²Ρ. - [ZipFile::unchangeEntry](#Documentation-ZipFile-unchangeEntry) - ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π°ΡΡ ΠΈΠ²Π°. - ~~ZipFile::withoutPassword~~ - ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ (**deprecated**) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ [ZipFile::disableEncryption](#Documentation-ZipFile-disableEncryption). - ~~ZipFile::withReadPassword~~ - ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ (**deprecated**) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ [ZipFile::setReadPassword](#Documentation-ZipFile-setReadPassword). #### <a name="Documentation-Open-Zip-Archive"></a> Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅/ΠΡΠΊΡΡΡΠΈΠ΅ ZIP-Π°ΡΡ ΠΈΠ²Π° <a name="Documentation-ZipFile-__construct"></a>**ZipFile::__construct** - ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ΅Ρ ZIP-Π°ΡΡ ΠΈΠ². ```php $zipFile = new \PhpZip\ZipFile(); ``` <a name="Documentation-ZipFile-openFile"></a> **ZipFile::openFile** - ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ² ΠΈΠ· ΡΠ°ΠΉΠ»Π°. ```php $zipFile = new \PhpZip\ZipFile(); $zipFile->openFile('file.zip'); ``` <a name="Documentation-ZipFile-openFromString"></a> **ZipFile::openFromString** - ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ² ΠΈΠ· ΡΡΡΠΎΠΊΠΈ. ```php $zipFile = new \PhpZip\ZipFile(); $zipFile->openFromString($stringContents); ``` <a name="Documentation-ZipFile-openFromStream"></a> **ZipFile::openFromStream** - ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ² ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ°. ```php $stream = fopen('file.zip', 'rb'); $zipFile = new \PhpZip\ZipFile(); $zipFile->openFromStream($stream); ``` #### <a name="Documentation-Open-Zip-Entries"></a> Π§ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° <a name="Documentation-ZipFile-count"></a> **ZipFile::count** - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅. ```php $zipFile = new \PhpZip\ZipFile(); $count = count($zipFile); // ΠΈΠ»ΠΈ $count = $zipFile->count(); ``` <a name="Documentation-ZipFile-getListFiles"></a> **ZipFile::getListFiles** - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π°ΡΡ ΠΈΠ²Π°. ```php $zipFile = new \PhpZip\ZipFile(); $listFiles = $zipFile->getListFiles(); // ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°: // array ( // 0 => 'info.txt', // 1 => 'path/to/file.jpg', // 2 => 'another path/', // ) ``` <a name="Documentation-ZipFile-getEntryContent"></a> **ZipFile::getEntryContent** - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΏΠΈΡΠΈ. ```php // $entryName = 'path/to/example-entry-name.txt'; $zipFile = new \PhpZip\ZipFile(); $contents = $zipFile[$entryName]; // ΠΈΠ»ΠΈ $contents = $zipFile->getEntryContents($entryName); ``` <a name="Documentation-ZipFile-hasEntry"></a> **ZipFile::hasEntry** - ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π·Π°ΠΏΠΈΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. ```php // $entryName = 'path/to/example-entry-name.txt'; $zipFile = new \PhpZip\ZipFile(); $hasEntry = isset($zipFile[$entryName]); // ΠΈΠ»ΠΈ $hasEntry = $zipFile->hasEntry($entryName); ``` <a name="Documentation-ZipFile-isDirectory"></a> **ZipFile::isDirectory** - ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π·Π°ΠΏΠΈΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ. ```php // $entryName = 'path/to/'; $zipFile = new \PhpZip\ZipFile(); $isDirectory = $zipFile->isDirectory($entryName); ``` <a name="Documentation-ZipFile-extractTo"></a> **ZipFile::extractTo** - ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π°ΡΡ ΠΈΠ²Π° Π² Π·Π°Π΄Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ. ```php $zipFile = new \PhpZip\ZipFile(); $zipFile->extractTo($directory); ``` ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² Π·Π°Π΄Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ. ```php $extractOnlyFiles = [ 'filename1', 'filename2', 'dir/dir/dir/' ]; $zipFile = new \PhpZip\ZipFile(); $zipFile->extractTo($toDirectory, $extractOnlyFiles); ``` #### <a name="Documentation-Zip-Iterate"></a> ΠΠ΅ΡΠ΅Π±ΠΎΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ/ΠΡΠ΅ΡΠ°ΡΠΎΡ `ZipFile` ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ΅ΡΠ΅Π· ΡΠΈΠΊΠ» `foreach`. ```php foreach($zipFile as $entryName => $contents){ echo "Π€Π°ΠΉΠ»: $entryName" . PHP_EOL; echo "Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: $contents" . PHP_EOL; echo '-----------------------------' . PHP_EOL; } ``` ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ `Iterator`. ```php $iterator = new \ArrayIterator($zipFile); while ($iterator->valid()) { $entryName = $iterator->key(); $contents = $iterator->current(); echo "Π€Π°ΠΉΠ»: $entryName" . PHP_EOL; echo "Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: $contents" . PHP_EOL; echo '-----------------------------' . PHP_EOL; $iterator->next(); } ``` #### <a name="Documentation-Zip-Info"></a> ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π·Π°ΠΏΠΈΡΡΡ <a name="Documentation-ZipFile-getArchiveComment"></a> **ZipFile::getArchiveComment** - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ZIP-Π°ΡΡ ΠΈΠ²Π°. ```php $commentArchive = $zipFile->getArchiveComment(); ``` <a name="Documentation-ZipFile-getEntryComment"></a> **ZipFile::getEntryComment** - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ Π·Π°ΠΏΠΈΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Ρ ΠΈΠΌΡ. ```php $commentEntry = $zipFile->getEntryComment($entryName); ``` <a name="Documentation-ZipFile-getEntryInfo"></a> **ZipFile::getEntryInfo** - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅. ```php $zipFile = new \PhpZip\ZipFile(); $zipInfo = $zipFile->getEntryInfo('file.txt'); ``` <a name="Documentation-ZipFile-getAllInfo"></a> **ZipFile::getAllInfo** - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. ```php $zipAllInfo = $zipFile->getAllInfo(); ``` #### <a name="Documentation-Add-Zip-Entries"></a> ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ² ΠΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ZIP-Π°ΡΡ ΠΈΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΆΠ°ΡΠΈΡ: - `\PhpZip\Constants\ZipCompressionMethod::STORED` - Π±Π΅Π· ΡΠΆΠ°ΡΠΈΡ - `\PhpZip\Constants\ZipCompressionMethod::DEFLATED` - Deflate ΡΠΆΠ°ΡΠΈΠ΅ - `\PhpZip\Constants\ZipCompressionMethod::BZIP2` - Bzip2 ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ `ext-bz2` <a name="Documentation-ZipFile-addFile"></a> **ZipFile::addFile** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ZIP-Π°ΡΡ ΠΈΠ² ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ```php $zipFile = new \PhpZip\ZipFile(); // $file = '...../file.ext'; $zipFile->addFile($file); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅ (Π΅ΡΠ»ΠΈ null, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°) $zipFile->addFile($file, $entryName); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFile($file, $entryName, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFile($file, $entryName, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFile($file, $entryName, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addSplFile"></a> **ZipFile::addSplFile"** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ `\SplFileInfo` Π² zip-Π°ΡΡ ΠΈΠ². ```php // $file = '...../file.ext'; // $entryName = 'file2.ext' $zipFile = new \PhpZip\ZipFile(); $splFile = new \SplFileInfo('README.md'); $zipFile->addSplFile($splFile); $zipFile->addSplFile($splFile, $entryName); // or $zipFile[$entryName] = new \SplFileInfo($file); // ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addSplFile($splFile, $entryName, $options = [ \PhpZip\Constants\ZipOptions::COMPRESSION_METHOD => \PhpZip\Constants\ZipCompressionMethod::DEFLATED, ]); ``` <a name="Documentation-ZipFile-addFromFinder"></a> **ZipFile::addFromFinder"** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· `Symfony\Component\Finder\Finder` Π² zip Π°ΡΡ ΠΈΠ². https://symfony.com/doc/current/components/finder.html ```php $finder = new \Symfony\Component\Finder\Finder(); $finder ->files() ->name('*.{jpg,jpeg,gif,png}') ->name('/^[0-9a-f]\./') ->contains('/lorem\s+ipsum$/i') ->in('path'); $zipFile = new \PhpZip\ZipFile(); $zipFile->addFromFinder($finder, $options = [ \PhpZip\Constants\ZipOptions::COMPRESSION_METHOD => \PhpZip\Constants\ZipCompressionMethod::DEFLATED, \PhpZip\Constants\ZipOptions::MODIFIED_TIME => new \DateTimeImmutable('-1 day 5 min') ]); ``` <a name="Documentation-ZipFile-addFromString"></a> **ZipFile::addFromString** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» Π² ZIP-Π°ΡΡ ΠΈΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. ```php $zipFile = new \PhpZip\ZipFile(); $zipFile[$entryName] = $contents; // ΠΈΠ»ΠΈ $zipFile->addFromString($entryName, $contents); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFromString($entryName, $contents, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFromString($entryName, $contents, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFromString($entryName, $contents, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addFromStream"></a> **ZipFile::addFromStream** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ZIP-Π°ΡΡ ΠΈΠ² Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ°. ```php // $stream = fopen(..., 'rb'); $zipFile->addFromStream($stream, $entryName); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFromStream($stream, $entryName, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFromStream($stream, $entryName, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFromStream($stream, $entryName, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addEmptyDir"></a> **ZipFile::addEmptyDir** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ZIP-Π°ΡΡ ΠΈΠ² Π½ΠΎΠ²ΡΡ (ΠΏΡΡΡΡΡ) Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ```php // $path = "path/to/"; $zipFile->addEmptyDir($path); // ΠΈΠ»ΠΈ $zipFile[$path] = null; ``` <a name="Documentation-ZipFile-addAll"></a> **ZipFile::addAll** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°. ```php $entries = [ 'file.txt' => 'file contents', // Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ 'empty dir/' => null, // ΠΏΡΡΡΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ 'path/to/file.jpg' => fopen('..../filename', 'r'), // Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° 'path/to/file.dat' => new \SplFileInfo('..../filename'), // Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ]; $zipFile->addAll($entries); ``` <a name="Documentation-ZipFile-addDir"></a> **ZipFile::addDir** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. ```php $zipFile->addDir($dirName); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ $localPath = "to/path/"; $zipFile->addDir($dirName, $localPath); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addDir($dirName, $localPath, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addDir($dirName, $localPath, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addDir($dirName, $localPath, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addDirRecursive"></a> **ZipFile::addDirRecursive** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ c Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ. ```php $zipFile->addDirRecursive($dirName); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ $localPath = "to/path/"; $zipFile->addDirRecursive($dirName, $localPath); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addDirRecursive($dirName, $localPath, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addDirRecursive($dirName, $localPath, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addDirRecursive($dirName, $localPath, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addFilesFromIterator"></a> **ZipFile::addFilesFromIterator** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. ```php // $directoryIterator = new \DirectoryIterator($dir); // Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ // $directoryIterator = new \RecursiveDirectoryIterator($dir); // Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ $zipFile->addFilesFromIterator($directoryIterator); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ $localPath = "to/path/"; $zipFile->addFilesFromIterator($directoryIterator, $localPath); // ΠΈΠ»ΠΈ $zipFile[$localPath] = $directoryIterator; // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromIterator($directoryIterator, $localPath, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromIterator($directoryIterator, $localPath, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFilesFromIterator($directoryIterator, $localPath, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` ΠΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π°ΡΡ ΠΈΠ² Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. ```php $ignoreFiles = [ "file_ignore.txt", "dir_ignore/sub dir ignore/" ]; // $directoryIterator = new \DirectoryIterator($dir); // Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ // $directoryIterator = new \RecursiveDirectoryIterator($dir); // Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ \PhpZip\Util\Iterator\IgnoreFilesFilterIterator Π΄Π»Ρ Π½Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° $ignoreIterator = new \PhpZip\Util\Iterator\IgnoreFilesRecursiveFilterIterator( $directoryIterator, $ignoreFiles ); $zipFile->addFilesFromIterator($ignoreIterator); ``` <a name="Documentation-ZipFile-addFilesFromGlob"></a> **ZipFile::addFilesFromGlob** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ [glob ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ](https://en.wikipedia.org/wiki/Glob_(programming)) Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. ```php $globPattern = '**.{jpg,jpeg,png,gif}'; // ΠΏΡΠΈΠΌΠ΅Ρ glob ΡΠ°Π±Π»ΠΎΠ½Π° -> Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ .jpg, .jpeg, .png ΠΈ .gif ΡΠ°ΠΉΠ»Ρ $zipFile->addFilesFromGlob($dir, $globPattern); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ $localPath = "to/path/"; $zipFile->addFilesFromGlob($dir, $globPattern, $localPath); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromGlob($dir, $globPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromGlob($dir, $globPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFilesFromGlob($dir, $globPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addFilesFromGlobRecursive"></a> **ZipFile::addFilesFromGlobRecursive** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ [glob ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ](https://en.wikipedia.org/wiki/Glob_(programming)) c Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ. ```php $globPattern = '**.{jpg,jpeg,png,gif}'; // ΠΏΡΠΈΠΌΠ΅Ρ glob ΡΠ°Π±Π»ΠΎΠ½Π° -> Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ .jpg, .jpeg, .png ΠΈ .gif ΡΠ°ΠΉΠ»Ρ $zipFile->addFilesFromGlobRecursive($dir, $globPattern); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ $localPath = "to/path/"; $zipFile->addFilesFromGlobRecursive($dir, $globPattern, $localPath); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromGlobRecursive($dir, $globPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromGlobRecursive($dir, $globPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFilesFromGlobRecursive($dir, $globPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addFilesFromRegex"></a> **ZipFile::addFilesFromRegex** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ [ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ](https://en.wikipedia.org/wiki/Regular_expression) Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. ```php $regexPattern = '/\.(jpe?g|png|gif)$/si'; // ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ -> Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ .jpg, .jpeg, .png ΠΈ .gif ΡΠ°ΠΉΠ»Ρ $zipFile->addFilesFromRegex($dir, $regexPattern); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ $localPath = "to/path/"; $zipFile->addFilesFromRegex($dir, $regexPattern, $localPath); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromRegex($dir, $regexPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromRegex($dir, $regexPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFilesFromRegex($dir, $regexPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` <a name="Documentation-ZipFile-addFilesFromRegexRecursive"></a> **ZipFile::addFilesFromRegexRecursive** - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ [ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ](https://en.wikipedia.org/wiki/Regular_expression) Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ. ```php $regexPattern = '/\.(jpe?g|png|gif)$/si'; // ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ -> Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ .jpg, .jpeg, .png ΠΈ .gif ΡΠ°ΠΉΠ»Ρ $zipFile->addFilesFromRegexRecursive($dir, $regexPattern); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ $localPath = "to/path/"; $zipFile->addFilesFromRegexRecursive($dir, $regexPattern, $localPath); // ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromRegexRecursive($dir, $regexPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::STORED); // ΠΠ΅Π· ΡΠΆΠ°ΡΠΈΡ $zipFile->addFilesFromRegexRecursive($dir, $regexPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); // Deflate ΡΠΆΠ°ΡΠΈΠ΅ $zipFile->addFilesFromRegexRecursive($dir, $regexPattern, $localPath, \PhpZip\Constants\ZipCompressionMethod::BZIP2); // BZIP2 ΡΠΆΠ°ΡΠΈΠ΅ ``` #### <a name="Documentation-Remove-Zip-Entries"></a> Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° <a name="Documentation-ZipFile-deleteFromName"></a> **ZipFile::deleteFromName** - ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ```php $zipFile->deleteFromName($entryName); ``` <a name="Documentation-ZipFile-deleteFromGlob"></a> **ZipFile::deleteFromGlob** - ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ [glob ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ](https://en.wikipedia.org/wiki/Glob_(programming)). ```php $globPattern = '**.{jpg,jpeg,png,gif}'; // ΠΏΡΠΈΠΌΠ΅Ρ glob ΡΠ°Π±Π»ΠΎΠ½Π° -> ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ .jpg, .jpeg, .png ΠΈ .gif ΡΠ°ΠΉΠ»Ρ $zipFile->deleteFromGlob($globPattern); ``` <a name="Documentation-ZipFile-deleteFromRegex"></a> **ZipFile::deleteFromRegex** - ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ [ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ](https://en.wikipedia.org/wiki/Regular_expression). ```php $regexPattern = '/\.(jpe?g|png|gif)$/si'; // ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ -> ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ .jpg, .jpeg, .png ΠΈ .gif ΡΠ°ΠΉΠ»Ρ $zipFile->deleteFromRegex($regexPattern); ``` <a name="Documentation-ZipFile-deleteAll"></a> **ZipFile::deleteAll** - ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ZIP-Π°ΡΡ ΠΈΠ²Π΅. ```php $zipFile->deleteAll(); ``` #### <a name="Documentation-Entries"></a> Π Π°Π±ΠΎΡΠ° Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΈ Ρ Π°ΡΡ ΠΈΠ²ΠΎΠΌ <a name="Documentation-ZipFile-rename"></a> **ZipFile::rename** - ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ```php $zipFile->rename($oldName, $newName); ``` <a name="Documentation-ZipFile-setCompressionLevel"></a> **ZipFile::setCompressionLevel** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. > _ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°._ ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ 5 (`\PhpZip\Constants\ZipCompressionLevel::NORMAL`) ΠΈΠ»ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅ Π΄Π»Ρ Deflate ΡΠΆΠ°ΡΠΈΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡ 1 (`\PhpZip\Constants\ZipCompressionLevel::SUPER_FAST`) Π΄ΠΎ 9 (`\PhpZip\Constants\ZipCompressionLevel::MAXIMUM`). Π§Π΅ΠΌ Π²ΡΡΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΌ Π»ΡΡΡΠ΅ ΠΈ Π΄ΠΎΠ»ΡΡΠ΅ ΡΠΆΠ°ΡΠΈΠ΅. ```php $zipFile->setCompressionLevel(\PhpZip\Constants\ZipCompressionLevel::MAXIMUM); ``` <a name="Documentation-ZipFile-setCompressionLevelEntry"></a> **ZipFile::setCompressionLevelEntry** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡ 1 (`\PhpZip\Constants\ZipCompressionLevel::SUPER_FAST`) Π΄ΠΎ 9 (`\PhpZip\Constants\ZipCompressionLevel::MAXIMUM`). Π§Π΅ΠΌ Π²ΡΡΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΌ Π»ΡΡΡΠ΅ ΠΈ Π΄ΠΎΠ»ΡΡΠ΅ ΡΠΆΠ°ΡΠΈΠ΅. ```php $zipFile->setCompressionLevelEntry($entryName, \PhpZip\Constants\ZipCompressionLevel::MAXIMUM); ``` <a name="Documentation-ZipFile-setCompressionMethodEntry"></a> **ZipFile::setCompressionMethodEntry** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅. ΠΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΆΠ°ΡΠΈΡ: - `\PhpZip\Constants\ZipCompressionMethod::STORED` - Π±Π΅Π· ΡΠΆΠ°ΡΠΈΡ - `\PhpZip\Constants\ZipCompressionMethod::DEFLATED` - Deflate ΡΠΆΠ°ΡΠΈΠ΅ - `\PhpZip\Constants\ZipCompressionMethod::BZIP2` - Bzip2 ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ `ext-bz2` ```php $zipFile->setCompressionMethodEntry($entryName, \PhpZip\Constants\ZipCompressionMethod::DEFLATED); ``` <a name="Documentation-ZipFile-setArchiveComment"></a> **ZipFile::setArchiveComment** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ZIP-Π°ΡΡ ΠΈΠ²Ρ. ```php $zipFile->setArchiveComment($commentArchive); ``` <a name="Documentation-ZipFile-setEntryComment"></a> **ZipFile::setEntryComment** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ Π·Π°ΠΏΠΈΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Ρ ΠΈΠΌΡ. ```php $zipFile->setEntryComment($entryName, $comment); ``` <a name="Documentation-ZipFile-matcher"></a> **ZipFile::matcher** - Π²ΡΠ±ΠΎΡΠΊΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°ΡΡ ΠΈΠ²Π΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ. ```php $matcher = $zipFile->matcher(); ``` ΠΡΠ±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ: ```php $matcher ->add('entry name') ->add('another entry'); ``` ΠΡΠ±ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ ΠΈΠ²Π΅: ```php $matcher->add([ 'entry name', 'another entry name', 'path/' ]); ``` ΠΡΠ±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ: ```php $matcher->match('~\.jpe?g$~i'); ``` ΠΡΠ±ΠΎΡ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ ΠΈΠ²Π΅: ```php $matcher->all(); ``` count() - ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ: ```php $count = count($matcher); // ΠΈΠ»ΠΈ $count = $matcher->count(); ``` getMatches() - ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ: ```php $entries = $matcher->getMatches(); // ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ: ['entry name', 'another entry name']; ``` invoke() - Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π΄ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ: ```php // ΠΏΡΠΈΠΌΠ΅Ρ $matcher->invoke(function($entryName) use($zipFile) { $newName = preg_replace('~\.(jpe?g)$~i', '.no_optimize.$1', $entryName); $zipFile->rename($entryName, $newName); }); ``` Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ: ```php $matcher->delete(); // ΡΠ΄Π°Π»Π΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ZIP-Π°ΡΡ ΠΈΠ²Π° $matcher->setPassword($password); // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ $matcher->setPassword($password, $encryptionMethod); // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ $matcher->setEncryptionMethod($encryptionMethod); // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ $matcher->disableEncryption(); // ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ``` #### <a name="Documentation-Password"></a> Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ: - `\PhpZip\Constants\ZipEncryptionMethod::PKWARE` - Traditional PKWARE encryption - `\PhpZip\Constants\ZipEncryptionMethod::WINZIP_AES_256` - WinZip AES encryption 256 bit (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎΠ΅) - `\PhpZip\Constants\ZipEncryptionMethod::WINZIP_AES_192` - WinZip AES encryption 192 bit - `\PhpZip\Constants\ZipEncryptionMethod::WINZIP_AES_128` - WinZip AES encryption 128 bit <a name="Documentation-ZipFile-setReadPassword"></a> **ZipFile::setReadPassword** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΠ°ΡΠΎΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π° Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. > _Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ , Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄/ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ, ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ, ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ._ ```php $zipFile->setReadPassword($password); ``` <a name="Documentation-ZipFile-setReadPasswordEntry"></a> **ZipFile::setReadPasswordEntry** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΠ°ΡΠΎΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π°. ```php $zipFile->setReadPasswordEntry($entryName, $password); ``` <a name="Documentation-ZipFile-setPassword"></a> **ZipFile::setPassword** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. > _ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°._ ```php $zipFile->setPassword($password); ``` ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ: ```php $encryptionMethod = \PhpZip\Constants\ZipEncryptionMethod::WINZIP_AES_256; $zipFile->setPassword($password, $encryptionMethod); ``` <a name="Documentation-ZipFile-setPasswordEntry"></a> **ZipFile::setPasswordEntry** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ```php $zipFile->setPasswordEntry($entryName, $password); ``` ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ: ```php $encryptionMethod = \PhpZip\Constants\ZipEncryptionMethod::WINZIP_AES_256; $zipFile->setPasswordEntry($entryName, $password, $encryptionMethod); ``` <a name="Documentation-ZipFile-disableEncryption"></a> **ZipFile::disableEncryption** - ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅. > _ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°._ ```php $zipFile->disableEncryption(); ``` <a name="Documentation-ZipFile-disableEncryptionEntry"></a> **ZipFile::disableEncryptionEntry** - ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ. ```php $zipFile->disableEncryptionEntry($entryName); ``` #### <a name="Documentation-ZipAlign-Usage"></a> zipalign <a name="Documentation-ZipFile-setZipAlign"></a> **ZipFile::setZipAlign** - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ APK ΡΠ°ΠΉΠ»ΠΎΠ² (Android packages). ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³ΠΈ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ Π½Π΅ ΡΠΆΠ°ΡΡΠΌ Π·Π°ΠΏΠΈΡΡΠΌ, Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΡΡ ΠΎΠ΄Π° ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Android. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ `APK` ΡΠ°ΠΉΠ»ΠΎΠ². Π€Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡΡ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ `zipalign -f -v 4 filename.zip`. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΠΏΠΎ [ΡΡΡΠ»ΠΊΠ΅](https://developer.android.com/studio/command-line/zipalign.html). ```php // Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π°ΡΡ ΠΈΠ²Π° $zipFile->setZipAlign(4); ``` #### <a name="Documentation-Unchanged"></a> ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ <a name="Documentation-ZipFile-unchangeAll"></a> **ZipFile::unchangeAll** - ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π°ΡΡ ΠΈΠ²Π΅. ```php $zipFile->unchangeAll(); ``` <a name="Documentation-ZipFile-unchangeArchiveComment"></a> **ZipFile::unchangeArchiveComment** - ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ Π°ΡΡ ΠΈΠ²Ρ. ```php $zipFile->unchangeArchiveComment(); ``` <a name="Documentation-ZipFile-unchangeEntry"></a> **ZipFile::unchangeEntry** - ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π°ΡΡ ΠΈΠ²Π°. ```php $zipFile->unchangeEntry($entryName); ``` #### <a name="Documentation-Save-Or-Output-Entries"></a> Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ Π² Π±ΡΠ°ΡΠ·Π΅Ρ <a name="Documentation-ZipFile-saveAsFile"></a> **ZipFile::saveAsFile** - ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π°ΡΡ ΠΈΠ² Π² ΡΠ°ΠΉΠ». ```php $zipFile->saveAsFile($filename); ``` <a name="Documentation-ZipFile-saveAsStream"></a> **ZipFile::saveAsStream** - Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π°ΡΡ ΠΈΠ² Π² ΠΏΠΎΡΠΎΠΊ. ```php // $fp = fopen($filename, 'w+b'); $zipFile->saveAsStream($fp); ``` <a name="Documentation-ZipFile-outputAsString"></a> **ZipFile::outputAsString** - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ZIP-Π°ΡΡ ΠΈΠ² Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. ```php $rawZipArchiveBytes = $zipFile->outputAsString(); ``` <a name="Documentation-ZipFile-outputAsAttachment"></a> **ZipFile::outputAsAttachment** - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ZIP-Π°ΡΡ ΠΈΠ² Π² Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΠ²ΠΎΠ΄Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΡΠΊΡΠΈΠΏΡΠ°. ```php $zipFile->outputAsAttachment($outputFilename); ``` ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ MIME-ΡΠΈΠΏ: ```php $mimeType = 'application/zip' $zipFile->outputAsAttachment($outputFilename, $mimeType); ``` <a name="Documentation-ZipFile-outputAsResponse"></a> **ZipFile::outputAsResponse** - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ZIP-Π°ΡΡ ΠΈΠ², ΠΊΠ°ΠΊ Response [PSR-7](http://www.php-fig.org/psr/psr-7/). ΠΠ΅ΡΠΎΠ΄ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ PSR-7 ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅. ```php // $response = ....; // instance Psr\Http\Message\ResponseInterface $zipFile->outputAsResponse($response, $outputFilename); ``` ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ MIME-ΡΠΈΠΏ: ```php $mimeType = 'application/zip' $zipFile->outputAsResponse($response, $outputFilename, $mimeType); ``` ΠΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Slim Framework: ```php $app = new \Slim\App; $app->get('/download', function ($req, $res, $args) { $zipFile = new \PhpZip\ZipFile(); $zipFile['file.txt'] = 'content'; return $zipFile->outputAsResponse($res, 'file.zip'); }); $app->run(); ``` <a name="Documentation-ZipFile-rewrite"></a> **ZipFile::rewrite** - ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΠΉΡΡ Π°ΡΡ ΠΈΠ². ```php $zipFile->rewrite(); ``` #### <a name="Documentation-Close-Zip-Archive"></a> ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° <a name="Documentation-ZipFile-close"></a> **ZipFile::close** - Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ZIP-Π°ΡΡ ΠΈΠ². ```php $zipFile->close(); ``` ### <a name="Running-Tests"></a> ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ² Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ```bash composer install --dev ``` ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΡΡ: ```bash vendor/bin/phpunit -v -c phpunit.xml ``` ### <a name="Changelog"></a> ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° [ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π»ΠΈΠ·ΠΎΠ²](https://github.com/Ne-Lexa/php-zip/releases). ### <a name="Upgrade"></a> ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ #### <a name="Upgrade-v2-to-v3"></a> ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ Π²Π΅ΡΡΠΈΠΈ 2 Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 3.0 ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ `composer.json` Π΄ΠΎ `^3.0`. ```json { "require": { "nelexa/zip": "^3.0" } } ``` ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Composer`: ```bash composer update nelexa/zip ``` ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ: - ΠΠ»Π°ΡΡ `ZipOutputFile` ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½ Ρ `ZipFile` ΠΈ ΡΠ΄Π°Π»ΡΠ½. + ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ `new \PhpZip\ZipOutputFile()` Π½Π° `new \PhpZip\ZipFile()` - Π‘ΡΠ°ΡΠΈΡΠΈΡΠΊΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠ°Π»Π° Π½Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ. + ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ `\PhpZip\ZipFile::openFromFile($filename);` Π½Π° `(new \PhpZip\ZipFile())->openFile($filename);` + ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ `\PhpZip\ZipOutputFile::openFromFile($filename);` Π½Π° `(new \PhpZip\ZipFile())->openFile($filename);` + ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ `\PhpZip\ZipFile::openFromString($contents);` Π½Π° `(new \PhpZip\ZipFile())->openFromString($contents);` + ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ `\PhpZip\ZipFile::openFromStream($stream);` Π½Π° `(new \PhpZip\ZipFile())->openFromStream($stream);` + ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ `\PhpZip\ZipOutputFile::create()` Π½Π° `new \PhpZip\ZipFile()` + ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ `\PhpZip\ZipOutputFile::openFromZipFile($zipFile)` Π½Π° `(new \PhpZip\ZipFile())->openFile($filename);` - ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ: + `addFromFile` Π² `addFile` + `setLevel` Π² `setCompressionLevel` + `ZipFile::setPassword` Π² `ZipFile::withReadPassword` + `ZipOutputFile::setPassword` Π² `ZipFile::withNewPassword` + `ZipOutputFile::disableEncryptionAllEntries` Π² `ZipFile::withoutPassword` + `ZipOutputFile::setComment` Π² `ZipFile::setArchiveComment` + `ZipFile::getComment` Π² `ZipFile::getArchiveComment` - ΠΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² `addDir`, `addFilesFromGlob`, `addFilesFromRegex`. - Π£Π΄Π°Π»Π΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ: + `getLevel` + `setCompressionMethod` + `setEntryPassword`
Save Changes
Cancel
Create New File
Create New Folder