mirror of
https://github.com/Ne-Lexa/php-zip.git
synced 2025-07-31 12:40:09 +02:00
update README
This commit is contained in:
369
README.RU.md
369
README.RU.md
@@ -2,41 +2,42 @@
|
||||
|
||||
`PhpZip` - php библиотека для продвинутой работы с ZIP-архивами.
|
||||
|
||||
[](https://github.com/Ne-Lexa/php-zip/actions)
|
||||
[](https://packagist.org/packages/nelexa/zip)
|
||||
[](https://packagist.org/packages/nelexa/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://packagist.org/packages/nelexa/zip)
|
||||
[](https://github.com/Ne-Lexa/php-zip/actions)
|
||||
[](https://github.com/Ne-Lexa/php-zip/blob/master/LICENSE)
|
||||
|
||||
|
||||
[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)
|
||||
+ [Отмена изменений](#Documentation-Unchanged)
|
||||
+ [Сохранение файла или вывод в браузер](#Documentation-Save-Or-Output-Entries)
|
||||
+ [Закрытие архива](#Documentation-Close-Zip-Archive)
|
||||
- [Запуск тестов](#Running-Tests)
|
||||
- [История изменений](#Changelog)
|
||||
- [Обновление версий](#Upgrade)
|
||||
+ [Обновление с версии 2 до версии 3.0](#Upgrade-v2-to-v3)
|
||||
+ [Обновление с версии 3 до версии 4](#Upgrade-v3-to-v4)
|
||||
- [Функционал](#функционал)
|
||||
- [Требования](#требования)
|
||||
- [Установка](#установка)
|
||||
- [Примеры](#примеры)
|
||||
- [Глоссарий](#глоссарий)
|
||||
- [Документация](#документация)
|
||||
+ [Обзор методов класса `\PhpZip\ZipFile`](#обзор-методов-класса-phpzipzipfile)
|
||||
+ [Создание/Открытие ZIP-архива](#созданиеоткрытие-zip-архива)
|
||||
+ [Чтение записей из архива](#чтение-записей-из-архива)
|
||||
+ [Перебор записей/Итератор](#перебор-записейитератор)
|
||||
+ [Получение информации о записях](#получение-информации-о-записях)
|
||||
+ [Добавление записей в архив](#добавление-записей-в-архив)
|
||||
+ [Удаление записей из архива](#удаление-записей-из-архива)
|
||||
+ [Работа с записями и с архивом](#работа-с-записями-и-с-архивом)
|
||||
+ [Работа с паролями](#работа-с-паролями)
|
||||
+ [Отмена изменений](#отмена-изменений)
|
||||
+ [Сохранение файла или вывод в браузер](#сохранение-файла-или-вывод-в-браузер)
|
||||
+ [Закрытие архива](#закрытие-архива)
|
||||
- [Запуск тестов](#запуск-тестов)
|
||||
- [История изменений](#история-изменений)
|
||||
- [Обновление версий](#обновление-версий)
|
||||
+ [Обновление с версии 3 до версии 4](#обновление-с-версии-3-до-версии-4)
|
||||
+ [Обновление с версии 2 до версии 3](#обновление-с-версии-2-до-версии-3)
|
||||
|
||||
### <a name="Features"></a> Функционал
|
||||
### Функционал
|
||||
- Открытие и разархивирование ZIP-архивов.
|
||||
- Создание ZIP-архивов.
|
||||
- Модификация ZIP-архивов.
|
||||
@@ -63,17 +64,17 @@
|
||||
+ Поддержка методов шифрования `Traditional PKWARE Encryption (ZipCrypto)` и `WinZIP AES Encryption (128, 192 или 256 bit)`.
|
||||
+ Установка метода шифрования для всех или для отдельных записей в архиве.
|
||||
|
||||
### <a name="Requirements"></a> Требования
|
||||
### Требования
|
||||
- `PHP` 7.4 или ^8.0 (предпочтительно 64-bit).
|
||||
- Опционально php-расширение `bzip2` для поддержки BZIP2 компрессии.
|
||||
- Опционально php-расширение `openssl` для `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();
|
||||
@@ -103,89 +104,94 @@ finally{
|
||||
```
|
||||
Другие примеры можно посмотреть в папке `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) - добавляет файлы из директории по указанному пути с вложенными директориями.
|
||||
- [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) - добавляет файлы из директории в соответствии с регулярным выражением с вложенными директориями.
|
||||
- [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::getArchiveComment](#Documentation-ZipFile-getArchiveComment) - возвращает комментарий ZIP-архива.
|
||||
- [ZipFile::getEntryComment](#Documentation-ZipFile-getEntryComment) - возвращает комментарий к записи, используя её имя.
|
||||
- [ZipFile::getEntryContent](#Documentation-ZipFile-getEntryContent) - возвращает содержимое записи.
|
||||
- [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::setPassword](#Documentation-ZipFile-setPassword) - устанавливает новый пароль для всех файлов, находящихся в архиве.
|
||||
- [ZipFile::setPasswordEntry](#Documentation-ZipFile-setPasswordEntry) - устанавливает новый пароль для конкретного файла.
|
||||
- [ZipFile::unchangeAll](#Documentation-ZipFile-unchangeAll) - отменяет все изменения, сделанные в архиве.
|
||||
- [ZipFile::unchangeArchiveComment](#Documentation-ZipFile-unchangeArchiveComment) - отменяет изменения в комментарии к архиву.
|
||||
- [ZipFile::unchangeEntry](#Documentation-ZipFile-unchangeEntry) - отменяет изменения для конкретной записи архива.
|
||||
### Документация
|
||||
#### Обзор методов класса `\PhpZip\ZipFile`
|
||||
- [ZipFile::__construct](#zipfile__construct) - инициализирует ZIP-архив.
|
||||
- [ZipFile::addAll](#zipfileaddall) - добавляет все записи из массива.
|
||||
- [ZipFile::addDir](#zipfileadddir) - добавляет файлы из директории по указанному пути без вложенных директорий.
|
||||
- [ZipFile::addDirRecursive](#zipfileadddirrecursive) - добавляет файлы из директории по указанному пути с вложенными директориями.
|
||||
- [ZipFile::addEmptyDir](#zipfileaddemptydir) - добавляет в ZIP-архив новую директорию.
|
||||
- [ZipFile::addFile](#zipfileaddfile) - добавляет в ZIP-архив файл по указанному пути.
|
||||
- [ZipFile::addSplFile](#zipfileaddsplfile) - добавляет объект `\SplFileInfo` в zip-архив.
|
||||
- [ZipFile::addFromFinder](#zipfileaddfromfinder) - добавляет файлы из `Symfony\Component\Finder\Finder` в zip архив.
|
||||
- [ZipFile::addFilesFromIterator](#zipfileaddfilesfromiterator) - добавляет файлы из итератора директорий.
|
||||
- [ZipFile::addFilesFromGlob](#zipfileaddfilesfromglob) - добавляет файлы из директории в соответствии с glob шаблоном без вложенных директорий.
|
||||
- [ZipFile::addFilesFromGlobRecursive](#zipfileaddfilesfromglobrecursive) - добавляет файлы из директории в соответствии с glob шаблоном c вложенными директориями.
|
||||
- [ZipFile::addFilesFromRegex](#zipfileaddfilesfromregex) - добавляет файлы из директории в соответствии с регулярным выражением без вложенных директорий.
|
||||
- [ZipFile::addFilesFromRegexRecursive](#zipfileaddfilesfromregexrecursive) - добавляет файлы из директории в соответствии с регулярным выражением с вложенными директориями.
|
||||
- [ZipFile::addFromStream](#zipfileaddfromstream) - добавляет в ZIP-архив запись из потока.
|
||||
- [ZipFile::addFromString](#zipfileaddfromstring) - добавляет файл в ZIP-архив, используя его содержимое в виде строки.
|
||||
- [ZipFile::close](#zipfileclose) - закрывает ZIP-архив.
|
||||
- [ZipFile::count](#zipfilecount) - возвращает количество записей в архиве.
|
||||
- [ZipFile::deleteFromName](#zipfiledeletefromname) - удаляет запись по имени.
|
||||
- [ZipFile::deleteFromGlob](#zipfiledeletefromglob) - удаляет записи в соответствии с glob шаблоном.
|
||||
- [ZipFile::deleteFromRegex](#zipfiledeletefromregex) - удаляет записи в соответствии с регулярным выражением.
|
||||
- [ZipFile::deleteAll](#zipfiledeleteall) - удаляет все записи в ZIP-архиве.
|
||||
- [ZipFile::disableEncryption](#zipfiledisableencryption) - отключает шифрования всех записей, находящихся в архиве.
|
||||
- [ZipFile::disableEncryptionEntry](#zipfiledisableencryptionentry) - отключает шифрование записи по её имени.
|
||||
- [ZipFile::extractTo](#zipfileextractto) - извлекает содержимое архива в заданную директорию.
|
||||
- [ZipFile::getArchiveComment](#zipfilegetarchivecomment) - возвращает комментарий ZIP-архива.
|
||||
- [ZipFile::getEntryComment](#zipfilegetentrycomment) - возвращает комментарий к записи, используя её имя.
|
||||
- [ZipFile::getEntryContent](#zipfilegetentrycontent) - возвращает содержимое записи.
|
||||
- [ZipFile::getListFiles](#zipfilegetlistfiles) - возвращает список файлов архива.
|
||||
- [ZipFile::hasEntry](#zipfilehasentry) - проверяет, присутствует ли запись в архиве.
|
||||
- [ZipFile::isDirectory](#zipfileisdirectory) - проверяет, является ли запись в архиве директорией.
|
||||
- [ZipFile::matcher](#zipfilematcher) - выборка записей в архиве для проведения операций над выбранными записями.
|
||||
- [ZipFile::openFile](#zipfileopenfile) - открывает ZIP-архив из файла.
|
||||
- [ZipFile::openFromString](#zipfileopenfromstring) - открывает ZIP-архив из строки.
|
||||
- [ZipFile::openFromStream](#zipfileopenfromstream) - открывает ZIP-архив из потока.
|
||||
- [ZipFile::outputAsAttachment](#zipfileoutputasattachment) - выводит ZIP-архив в браузер.
|
||||
- [ZipFile::outputAsResponse](#zipfileoutputasresponse) - выводит ZIP-архив, как Response PSR-7.
|
||||
- [ZipFile::outputAsString](#zipfileoutputasstring) - выводит ZIP-архив в виде строки.
|
||||
- [ZipFile::rename](#zipfilerename) - переименовывает запись по имени.
|
||||
- [ZipFile::rewrite](#zipfilerewrite) - сохраняет изменения и заново открывает изменившийся архив.
|
||||
- [ZipFile::saveAsFile](#zipfilesaveasfile) - сохраняет архив в файл.
|
||||
- [ZipFile::saveAsStream](#zipfilesaveasstream) - записывает архив в поток.
|
||||
- [ZipFile::setArchiveComment](#zipfilesetarchivecomment) - устанавливает комментарий к ZIP-архиву.
|
||||
- [ZipFile::setCompressionLevel](#zipfilesetcompressionlevel) - устанавливает уровень сжатия для всех файлов, находящихся в архиве.
|
||||
- [ZipFile::setCompressionLevelEntry](#zipfilesetcompressionlevelentry) - устанавливает уровень сжатия для определённой записи в архиве.
|
||||
- [ZipFile::setCompressionMethodEntry](#zipfilesetcompressionmethodentry) - устанавливает метод сжатия для определённой записи в архиве.
|
||||
- [ZipFile::setEntryComment](#zipfilesetentrycomment) - устанавливает комментарий к записи, используя её имя.
|
||||
- [ZipFile::setReadPassword](#zipfilesetreadpassword) - устанавливает пароль на чтение открытого запароленного архива для всех зашифрованных записей.
|
||||
- [ZipFile::setReadPasswordEntry](#zipfilesetreadpasswordentry) - устанавливает пароль на чтение конкретной зашифрованной записи открытого запароленного архива.
|
||||
- [ZipFile::setPassword](#zipfilesetpassword) - устанавливает новый пароль для всех файлов, находящихся в архиве.
|
||||
- [ZipFile::setPasswordEntry](#zipfilesetpasswordentry) - устанавливает новый пароль для конкретного файла.
|
||||
- [ZipFile::unchangeAll](#zipfileunchangeall) - отменяет все изменения, сделанные в архиве.
|
||||
- [ZipFile::unchangeArchiveComment](#zipfileunchangearchivecomment) - отменяет изменения в комментарии к архиву.
|
||||
- [ZipFile::unchangeEntry](#zipfileunchangeentry) - отменяет изменения для конкретной записи архива.
|
||||
|
||||
#### <a name="Documentation-Open-Zip-Archive"></a> Создание/Открытие ZIP-архива
|
||||
<a name="Documentation-ZipFile-__construct"></a>**ZipFile::__construct** - Инициализацирует ZIP-архив.
|
||||
#### Создание/Открытие ZIP-архива
|
||||
##### ZipFile::__construct
|
||||
Инициализирует ZIP-архив.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
```
|
||||
<a name="Documentation-ZipFile-openFile"></a> **ZipFile::openFile** - открывает ZIP-архив из файла.
|
||||
##### ZipFile::openFile
|
||||
Открывает ZIP-архив из файла.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
$zipFile->openFile('file.zip');
|
||||
```
|
||||
<a name="Documentation-ZipFile-openFromString"></a> **ZipFile::openFromString** - открывает ZIP-архив из строки.
|
||||
##### ZipFile::openFromString
|
||||
Открывает ZIP-архив из строки.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
$zipFile->openFromString($stringContents);
|
||||
```
|
||||
<a name="Documentation-ZipFile-openFromStream"></a> **ZipFile::openFromStream** - открывает ZIP-архив из потока.
|
||||
##### 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** - возвращает количество записей в архиве.
|
||||
#### Чтение записей из архива
|
||||
##### ZipFile::count
|
||||
Возвращает количество записей в архиве.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
|
||||
@@ -193,7 +199,8 @@ $count = count($zipFile);
|
||||
// или
|
||||
$count = $zipFile->count();
|
||||
```
|
||||
<a name="Documentation-ZipFile-getListFiles"></a> **ZipFile::getListFiles** - возвращает список файлов архива.
|
||||
##### ZipFile::getListFiles
|
||||
Возвращает список файлов архива.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
$listFiles = $zipFile->getListFiles();
|
||||
@@ -205,7 +212,8 @@ $listFiles = $zipFile->getListFiles();
|
||||
// 2 => 'another path/',
|
||||
// )
|
||||
```
|
||||
<a name="Documentation-ZipFile-getEntryContent"></a> **ZipFile::getEntryContent** - возвращает содержимое записи.
|
||||
##### ZipFile::getEntryContent
|
||||
Возвращает содержимое записи.
|
||||
```php
|
||||
// $entryName = 'path/to/example-entry-name.txt';
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
@@ -214,7 +222,8 @@ $contents = $zipFile[$entryName];
|
||||
// или
|
||||
$contents = $zipFile->getEntryContents($entryName);
|
||||
```
|
||||
<a name="Documentation-ZipFile-hasEntry"></a> **ZipFile::hasEntry** - проверяет, присутствует ли запись в архиве.
|
||||
##### ZipFile::hasEntry
|
||||
Проверяет, присутствует ли запись в архиве.
|
||||
```php
|
||||
// $entryName = 'path/to/example-entry-name.txt';
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
@@ -223,14 +232,16 @@ $hasEntry = isset($zipFile[$entryName]);
|
||||
// или
|
||||
$hasEntry = $zipFile->hasEntry($entryName);
|
||||
```
|
||||
<a name="Documentation-ZipFile-isDirectory"></a> **ZipFile::isDirectory** - проверяет, является ли запись в архиве директорией.
|
||||
##### ZipFile::isDirectory
|
||||
Проверяет, является ли запись в архиве директорией.
|
||||
```php
|
||||
// $entryName = 'path/to/';
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
|
||||
$isDirectory = $zipFile->isDirectory($entryName);
|
||||
```
|
||||
<a name="Documentation-ZipFile-extractTo"></a> **ZipFile::extractTo** - извлекает содержимое архива в заданную директорию.
|
||||
##### ZipFile::extractTo
|
||||
Извлекает содержимое архива в заданную директорию.
|
||||
Директория должна существовать.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
@@ -247,7 +258,7 @@ $extractOnlyFiles = [
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
$zipFile->extractTo($toDirectory, $extractOnlyFiles);
|
||||
```
|
||||
#### <a name="Documentation-Zip-Iterate"></a> Перебор записей/Итератор
|
||||
#### Перебор записей/Итератор
|
||||
`ZipFile` является итератором.
|
||||
Можно перебрать все записи, через цикл `foreach`.
|
||||
```php
|
||||
@@ -272,16 +283,18 @@ while ($iterator->valid())
|
||||
$iterator->next();
|
||||
}
|
||||
```
|
||||
#### <a name="Documentation-Zip-Info"></a> Получение информации о записях
|
||||
<a name="Documentation-ZipFile-getArchiveComment"></a> **ZipFile::getArchiveComment** - возвращает комментарий ZIP-архива.
|
||||
#### Получение информации о записях
|
||||
##### ZipFile::getArchiveComment
|
||||
Возвращает комментарий ZIP-архива.
|
||||
```php
|
||||
$commentArchive = $zipFile->getArchiveComment();
|
||||
```
|
||||
<a name="Documentation-ZipFile-getEntryComment"></a> **ZipFile::getEntryComment** - возвращает комментарий к записи, используя её имя.
|
||||
##### ZipFile::getEntryComment
|
||||
Возвращает комментарий к записи, используя её имя.
|
||||
```php
|
||||
$commentEntry = $zipFile->getEntryComment($entryName);
|
||||
```
|
||||
#### <a name="Documentation-Add-Zip-Entries"></a> Добавление записей в архив
|
||||
#### Добавление записей в архив
|
||||
|
||||
Все методы добавления записей в ZIP-архив позволяют указать метод сжатия содержимого.
|
||||
|
||||
@@ -290,7 +303,8 @@ $commentEntry = $zipFile->getEntryComment($entryName);
|
||||
- `\PhpZip\Constants\ZipCompressionMethod::DEFLATED` - Deflate сжатие
|
||||
- `\PhpZip\Constants\ZipCompressionMethod::BZIP2` - Bzip2 сжатие при наличии расширения `ext-bz2`
|
||||
|
||||
<a name="Documentation-ZipFile-addFile"></a> **ZipFile::addFile** - добавляет в ZIP-архив файл по указанному пути из файловой системы.
|
||||
##### ZipFile::addFile
|
||||
Добавляет в ZIP-архив файл по указанному пути из файловой системы.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
// $file = '...../file.ext';
|
||||
@@ -304,8 +318,8 @@ $zipFile->addFile($file, $entryName, \PhpZip\Constants\ZipCompressionMethod::STO
|
||||
$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-архив.
|
||||
##### ZipFile::addSplFile"
|
||||
Добавляет объект `\SplFileInfo` в zip-архив.
|
||||
```php
|
||||
// $file = '...../file.ext';
|
||||
// $entryName = 'file2.ext'
|
||||
@@ -323,9 +337,8 @@ $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
|
||||
##### ZipFile::addFromFinder"
|
||||
Добавляет файлы из [`Symfony\Component\Finder\Finder`](https://symfony.com/doc/current/components/finder.html) в zip архив.
|
||||
```php
|
||||
$finder = new \Symfony\Component\Finder\Finder();
|
||||
$finder
|
||||
@@ -341,7 +354,8 @@ $zipFile->addFromFinder($finder, $options = [
|
||||
\PhpZip\Constants\ZipOptions::MODIFIED_TIME => new \DateTimeImmutable('-1 day 5 min')
|
||||
]);
|
||||
```
|
||||
<a name="Documentation-ZipFile-addFromString"></a> **ZipFile::addFromString** - добавляет файл в ZIP-архив, используя его содержимое в виде строки.
|
||||
##### ZipFile::addFromString
|
||||
Добавляет файл в ZIP-архив, используя его содержимое в виде строки.
|
||||
```php
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
|
||||
@@ -354,7 +368,8 @@ $zipFile->addFromString($entryName, $contents, \PhpZip\Constants\ZipCompressionM
|
||||
$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-архив запись из потока.
|
||||
##### ZipFile::addFromStream
|
||||
Добавляет в ZIP-архив запись из потока.
|
||||
```php
|
||||
// $stream = fopen(..., 'rb');
|
||||
|
||||
@@ -365,7 +380,8 @@ $zipFile->addFromStream($stream, $entryName, \PhpZip\Constants\ZipCompressionMet
|
||||
$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-архив новую (пустую) директорию.
|
||||
##### ZipFile::addEmptyDir
|
||||
Добавляет в ZIP-архив новую (пустую) директорию.
|
||||
```php
|
||||
// $path = "path/to/";
|
||||
|
||||
@@ -373,7 +389,8 @@ $zipFile->addEmptyDir($path);
|
||||
// или
|
||||
$zipFile[$path] = null;
|
||||
```
|
||||
<a name="Documentation-ZipFile-addAll"></a> **ZipFile::addAll** - добавляет все записи из массива.
|
||||
##### ZipFile::addAll
|
||||
Добавляет все записи из массива.
|
||||
```php
|
||||
$entries = [
|
||||
'file.txt' => 'file contents', // запись из строки данных
|
||||
@@ -384,7 +401,8 @@ $entries = [
|
||||
|
||||
$zipFile->addAll($entries);
|
||||
```
|
||||
<a name="Documentation-ZipFile-addDir"></a> **ZipFile::addDir** - добавляет файлы из директории по указанному пути без вложенных директорий.
|
||||
##### ZipFile::addDir
|
||||
Добавляет файлы из директории по указанному пути без вложенных директорий.
|
||||
```php
|
||||
$zipFile->addDir($dirName);
|
||||
|
||||
@@ -397,7 +415,8 @@ $zipFile->addDir($dirName, $localPath, \PhpZip\Constants\ZipCompressionMethod::S
|
||||
$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 вложенными директориями.
|
||||
##### ZipFile::addDirRecursive
|
||||
Добавляет файлы из директории по указанному пути c вложенными директориями.
|
||||
```php
|
||||
$zipFile->addDirRecursive($dirName);
|
||||
|
||||
@@ -410,7 +429,8 @@ $zipFile->addDirRecursive($dirName, $localPath, \PhpZip\Constants\ZipCompression
|
||||
$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** - добавляет файлы из итератора директорий.
|
||||
##### ZipFile::addFilesFromIterator
|
||||
Добавляет файлы из итератора директорий.
|
||||
```php
|
||||
// $directoryIterator = new \DirectoryIterator($dir); // без вложенных директорий
|
||||
// $directoryIterator = new \RecursiveDirectoryIterator($dir); // с вложенными директориями
|
||||
@@ -446,7 +466,8 @@ $ignoreIterator = new \PhpZip\Util\Iterator\IgnoreFilesRecursiveFilterIterator(
|
||||
|
||||
$zipFile->addFilesFromIterator($ignoreIterator);
|
||||
```
|
||||
<a name="Documentation-ZipFile-addFilesFromGlob"></a> **ZipFile::addFilesFromGlob** - добавляет файлы из директории в соответствии с [glob шаблоном](https://en.wikipedia.org/wiki/Glob_(programming)) без вложенных директорий.
|
||||
##### ZipFile::addFilesFromGlob
|
||||
Добавляет файлы из директории в соответствии с [glob шаблоном](https://en.wikipedia.org/wiki/Glob_(programming)) без вложенных директорий.
|
||||
```php
|
||||
$globPattern = '**.{jpg,jpeg,png,gif}'; // пример glob шаблона -> добавить все .jpg, .jpeg, .png и .gif файлы
|
||||
|
||||
@@ -461,7 +482,8 @@ $zipFile->addFilesFromGlob($dir, $globPattern, $localPath, \PhpZip\Constants\Zip
|
||||
$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 вложенными директориями.
|
||||
##### ZipFile::addFilesFromGlobRecursive
|
||||
Добавляет файлы из директории в соответствии с [glob шаблоном](https://en.wikipedia.org/wiki/Glob_(programming)) c вложенными директориями.
|
||||
```php
|
||||
$globPattern = '**.{jpg,jpeg,png,gif}'; // пример glob шаблона -> добавить все .jpg, .jpeg, .png и .gif файлы
|
||||
|
||||
@@ -476,7 +498,8 @@ $zipFile->addFilesFromGlobRecursive($dir, $globPattern, $localPath, \PhpZip\Cons
|
||||
$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) без вложенных директорий.
|
||||
##### ZipFile::addFilesFromRegex
|
||||
Добавляет файлы из директории в соответствии с [регулярным выражением](https://en.wikipedia.org/wiki/Regular_expression) без вложенных директорий.
|
||||
```php
|
||||
$regexPattern = '/\.(jpe?g|png|gif)$/si'; // пример регулярного выражения -> добавить все .jpg, .jpeg, .png и .gif файлы
|
||||
|
||||
@@ -491,7 +514,8 @@ $zipFile->addFilesFromRegex($dir, $regexPattern, $localPath, \PhpZip\Constants\Z
|
||||
$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) с вложенными директориями.
|
||||
##### ZipFile::addFilesFromRegexRecursive
|
||||
Добавляет файлы из директории в соответствии с [регулярным выражением](https://en.wikipedia.org/wiki/Regular_expression) с вложенными директориями.
|
||||
```php
|
||||
$regexPattern = '/\.(jpe?g|png|gif)$/si'; // пример регулярного выражения -> добавить все .jpg, .jpeg, .png и .gif файлы
|
||||
|
||||
@@ -506,33 +530,39 @@ $zipFile->addFilesFromRegexRecursive($dir, $regexPattern, $localPath, \PhpZip\Co
|
||||
$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** - удаляет запись по имени.
|
||||
#### Удаление записей из архива
|
||||
##### ZipFile::deleteFromName
|
||||
Удаляет запись по имени.
|
||||
```php
|
||||
$zipFile->deleteFromName($entryName);
|
||||
```
|
||||
<a name="Documentation-ZipFile-deleteFromGlob"></a> **ZipFile::deleteFromGlob** - удаляет записи в соответствии с [glob шаблоном](https://en.wikipedia.org/wiki/Glob_(programming)).
|
||||
##### 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).
|
||||
##### 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-архиве.
|
||||
##### ZipFile::deleteAll
|
||||
Удаляет все записи в ZIP-архиве.
|
||||
```php
|
||||
$zipFile->deleteAll();
|
||||
```
|
||||
#### <a name="Documentation-Entries"></a> Работа с записями и с архивом
|
||||
<a name="Documentation-ZipFile-rename"></a> **ZipFile::rename** - переименовывает запись по имени.
|
||||
#### Работа с записями и с архивом
|
||||
##### ZipFile::rename
|
||||
Переименовывает запись по имени.
|
||||
```php
|
||||
$zipFile->rename($oldName, $newName);
|
||||
```
|
||||
<a name="Documentation-ZipFile-setCompressionLevel"></a> **ZipFile::setCompressionLevel** - устанавливает уровень сжатия для всех файлов, находящихся в архиве.
|
||||
##### ZipFile::setCompressionLevel
|
||||
Устанавливает уровень сжатия для всех файлов, находящихся в архиве.
|
||||
|
||||
> _Обратите внимание, что действие данного метода не распространяется на записи, добавленные после выполнения этого метода._
|
||||
|
||||
@@ -542,13 +572,15 @@ $zipFile->rename($oldName, $newName);
|
||||
```php
|
||||
$zipFile->setCompressionLevel(\PhpZip\Constants\ZipCompressionLevel::MAXIMUM);
|
||||
```
|
||||
<a name="Documentation-ZipFile-setCompressionLevelEntry"></a> **ZipFile::setCompressionLevelEntry** - устанавливает уровень сжатия для определённой записи в архиве.
|
||||
##### 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** - устанавливает метод сжатия для определённой записи в архиве.
|
||||
##### ZipFile::setCompressionMethodEntry
|
||||
Устанавливает метод сжатия для определённой записи в архиве.
|
||||
|
||||
Доступны следующие методы сжатия:
|
||||
- `\PhpZip\Constants\ZipCompressionMethod::STORED` - без сжатия
|
||||
@@ -557,15 +589,18 @@ $zipFile->setCompressionLevelEntry($entryName, \PhpZip\Constants\ZipCompressionL
|
||||
```php
|
||||
$zipFile->setCompressionMethodEntry($entryName, \PhpZip\Constants\ZipCompressionMethod::DEFLATED);
|
||||
```
|
||||
<a name="Documentation-ZipFile-setArchiveComment"></a> **ZipFile::setArchiveComment** - устанавливает комментарий к ZIP-архиву.
|
||||
##### ZipFile::setArchiveComment
|
||||
Устанавливает комментарий к ZIP-архиву.
|
||||
```php
|
||||
$zipFile->setArchiveComment($commentArchive);
|
||||
```
|
||||
<a name="Documentation-ZipFile-setEntryComment"></a> **ZipFile::setEntryComment** - устанавливает комментарий к записи, используя её имя.
|
||||
##### ZipFile::setEntryComment
|
||||
Устанавливает комментарий к записи, используя её имя.
|
||||
```php
|
||||
$zipFile->setEntryComment($entryName, $comment);
|
||||
```
|
||||
<a name="Documentation-ZipFile-matcher"></a> **ZipFile::matcher** - выборка записей в архиве для проведения операций над выбранными записями.
|
||||
##### ZipFile::matcher
|
||||
Выборка записей в архиве для проведения операций над выбранными записями.
|
||||
```php
|
||||
$matcher = $zipFile->matcher();
|
||||
```
|
||||
@@ -618,7 +653,7 @@ $matcher->setPassword($password, $encryptionMethod); // устанавливае
|
||||
$matcher->setEncryptionMethod($encryptionMethod); // устанавливает метод шифрования на выбранные записи
|
||||
$matcher->disableEncryption(); // отключает шифрование для выбранных записей
|
||||
```
|
||||
#### <a name="Documentation-Password"></a> Работа с паролями
|
||||
#### Работа с паролями
|
||||
|
||||
Реализована поддержка методов шифрования:
|
||||
- `\PhpZip\Constants\ZipEncryptionMethod::PKWARE` - Traditional PKWARE encryption
|
||||
@@ -626,17 +661,20 @@ $matcher->disableEncryption(); // отключает шифрование для
|
||||
- `\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** - устанавливает пароль на чтение открытого запароленного архива для всех зашифрованных записей.
|
||||
##### ZipFile::setReadPassword
|
||||
Устанавливает пароль на чтение открытого запароленного архива для всех зашифрованных записей.
|
||||
|
||||
> _Установка пароля не является обязательной для добавления новых записей или удаления существующих, но если вы захотите извлечь контент или изменить метод/уровень сжатия, метод шифрования или изменить пароль, то в этом случае пароль необходимо указать._
|
||||
```php
|
||||
$zipFile->setReadPassword($password);
|
||||
```
|
||||
<a name="Documentation-ZipFile-setReadPasswordEntry"></a> **ZipFile::setReadPasswordEntry** - устанавливает пароль на чтение конкретной зашифрованной записи открытого запароленного архива.
|
||||
##### ZipFile::setReadPasswordEntry
|
||||
Устанавливает пароль на чтение конкретной зашифрованной записи открытого запароленного архива.
|
||||
```php
|
||||
$zipFile->setReadPasswordEntry($entryName, $password);
|
||||
```
|
||||
<a name="Documentation-ZipFile-setPassword"></a> **ZipFile::setPassword** - устанавливает новый пароль для всех файлов, находящихся в архиве.
|
||||
##### ZipFile::setPassword
|
||||
Устанавливает новый пароль для всех файлов, находящихся в архиве.
|
||||
|
||||
> _Обратите внимание, что действие данного метода не распространяется на записи, добавленные после выполнения этого метода._
|
||||
```php
|
||||
@@ -647,7 +685,8 @@ $zipFile->setPassword($password);
|
||||
$encryptionMethod = \PhpZip\Constants\ZipEncryptionMethod::WINZIP_AES_256;
|
||||
$zipFile->setPassword($password, $encryptionMethod);
|
||||
```
|
||||
<a name="Documentation-ZipFile-setPasswordEntry"></a> **ZipFile::setPasswordEntry** - устанавливает новый пароль для конкретного файла.
|
||||
##### ZipFile::setPasswordEntry
|
||||
Устанавливает новый пароль для конкретного файла.
|
||||
```php
|
||||
$zipFile->setPasswordEntry($entryName, $password);
|
||||
```
|
||||
@@ -656,45 +695,54 @@ $zipFile->setPasswordEntry($entryName, $password);
|
||||
$encryptionMethod = \PhpZip\Constants\ZipEncryptionMethod::WINZIP_AES_256;
|
||||
$zipFile->setPasswordEntry($entryName, $password, $encryptionMethod);
|
||||
```
|
||||
<a name="Documentation-ZipFile-disableEncryption"></a> **ZipFile::disableEncryption** - отключает шифрования всех записей, находящихся в архиве.
|
||||
##### ZipFile::disableEncryption
|
||||
Отключает шифрования всех записей, находящихся в архиве.
|
||||
|
||||
> _Обратите внимание, что действие данного метода не распространяется на записи, добавленные после выполнения этого метода._
|
||||
```php
|
||||
$zipFile->disableEncryption();
|
||||
```
|
||||
<a name="Documentation-ZipFile-disableEncryptionEntry"></a> **ZipFile::disableEncryptionEntry** - отключает шифрование записи по её имени.
|
||||
##### ZipFile::disableEncryptionEntry
|
||||
Отключает шифрование записи по её имени.
|
||||
```php
|
||||
$zipFile->disableEncryptionEntry($entryName);
|
||||
```
|
||||
#### <a name="Documentation-Unchanged"></a> Отмена изменений
|
||||
<a name="Documentation-ZipFile-unchangeAll"></a> **ZipFile::unchangeAll** - отменяет все изменения, сделанные в архиве.
|
||||
#### Отмена изменений
|
||||
##### ZipFile::unchangeAll
|
||||
Отменяет все изменения, сделанные в архиве.
|
||||
```php
|
||||
$zipFile->unchangeAll();
|
||||
```
|
||||
<a name="Documentation-ZipFile-unchangeArchiveComment"></a> **ZipFile::unchangeArchiveComment** - отменяет изменения в комментарии к архиву.
|
||||
##### ZipFile::unchangeArchiveComment
|
||||
Отменяет изменения в комментарии к архиву.
|
||||
```php
|
||||
$zipFile->unchangeArchiveComment();
|
||||
```
|
||||
<a name="Documentation-ZipFile-unchangeEntry"></a> **ZipFile::unchangeEntry** - отменяет изменения для конкретной записи архива.
|
||||
##### ZipFile::unchangeEntry
|
||||
Отменяет изменения для конкретной записи архива.
|
||||
```php
|
||||
$zipFile->unchangeEntry($entryName);
|
||||
```
|
||||
#### <a name="Documentation-Save-Or-Output-Entries"></a> Сохранение файла или вывод в браузер
|
||||
<a name="Documentation-ZipFile-saveAsFile"></a> **ZipFile::saveAsFile** - сохраняет архив в файл.
|
||||
#### Сохранение файла или вывод в браузер
|
||||
##### ZipFile::saveAsFile
|
||||
Сохраняет архив в файл.
|
||||
```php
|
||||
$zipFile->saveAsFile($filename);
|
||||
```
|
||||
<a name="Documentation-ZipFile-saveAsStream"></a> **ZipFile::saveAsStream** - записывает архив в поток.
|
||||
##### ZipFile::saveAsStream
|
||||
Записывает архив в поток.
|
||||
```php
|
||||
// $fp = fopen($filename, 'w+b');
|
||||
|
||||
$zipFile->saveAsStream($fp);
|
||||
```
|
||||
<a name="Documentation-ZipFile-outputAsString"></a> **ZipFile::outputAsString** - выводит ZIP-архив в виде строки.
|
||||
##### ZipFile::outputAsString
|
||||
Выводит ZIP-архив в виде строки.
|
||||
```php
|
||||
$rawZipArchiveBytes = $zipFile->outputAsString();
|
||||
```
|
||||
<a name="Documentation-ZipFile-outputAsAttachment"></a> **ZipFile::outputAsAttachment** - выводит ZIP-архив в браузер.
|
||||
##### ZipFile::outputAsAttachment
|
||||
Выводит ZIP-архив в браузер.
|
||||
|
||||
При выводе устанавливаются необходимые заголовки, а после вывода завершается работа скрипта.
|
||||
```php
|
||||
@@ -705,7 +753,8 @@ $zipFile->outputAsAttachment($outputFilename);
|
||||
$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/).
|
||||
##### ZipFile::outputAsResponse
|
||||
Выводит ZIP-архив, как Response [PSR-7](http://www.php-fig.org/psr/psr-7/).
|
||||
|
||||
Метод вывода может использоваться в любом PSR-7 совместимом фреймворке.
|
||||
```php
|
||||
@@ -727,16 +776,18 @@ $app->get('/download', function ($req, $res, $args) {
|
||||
});
|
||||
$app->run();
|
||||
```
|
||||
<a name="Documentation-ZipFile-rewrite"></a> **ZipFile::rewrite** - сохраняет изменения и заново открывает изменившийся архив.
|
||||
##### ZipFile::rewrite
|
||||
Сохраняет изменения и заново открывает изменившийся архив.
|
||||
```php
|
||||
$zipFile->rewrite();
|
||||
```
|
||||
#### <a name="Documentation-Close-Zip-Archive"></a> Закрытие архива
|
||||
<a name="Documentation-ZipFile-close"></a> **ZipFile::close** - закрывает ZIP-архив.
|
||||
#### Закрытие архива
|
||||
##### ZipFile::close
|
||||
Закрывает ZIP-архив.
|
||||
```php
|
||||
$zipFile->close();
|
||||
```
|
||||
### <a name="Running-Tests"></a> Запуск тестов
|
||||
### Запуск тестов
|
||||
Установите зависимости для разработки.
|
||||
```bash
|
||||
composer install --dev
|
||||
@@ -745,11 +796,11 @@ 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-v3-to-v4"></a> Обновление с версии 3 до версии 4
|
||||
### Обновление версий
|
||||
#### Обновление с версии 3 до версии 4
|
||||
Обновите мажорную версию в файле `composer.json` до `^4.0`.
|
||||
```json
|
||||
{
|
||||
@@ -765,7 +816,7 @@ composer update nelexa/zip
|
||||
Обновите ваш код для работы с новой версией:
|
||||
- удалены устаревшие метроды
|
||||
- удалён zipalign функционал (он будет помещен в отдельный пакет nelexa/apkfile)
|
||||
#### <a name="Upgrade-v2-to-v3"></a> Обновление с версии 2 до версии 3.0
|
||||
#### Обновление с версии 2 до версии 3
|
||||
Обновите мажорную версию в файле `composer.json` до `^3.0`.
|
||||
```json
|
||||
{
|
||||
|
@@ -2,11 +2,11 @@
|
||||
|
||||
`PhpZip` is a php-library for extended work with ZIP-archives.
|
||||
|
||||
[](https://github.com/Ne-Lexa/php-zip/actions)
|
||||
[](https://packagist.org/packages/nelexa/zip)
|
||||
[](https://packagist.org/packages/nelexa/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://packagist.org/packages/nelexa/zip)
|
||||
[](https://github.com/Ne-Lexa/php-zip/actions)
|
||||
[](https://github.com/Ne-Lexa/php-zip/blob/master/LICENSE)
|
||||
|
||||
[Russian Documentation](README.RU.md)
|
||||
|
||||
|
Reference in New Issue
Block a user