(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0)
ZipArchive::addPattern β ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ PCRE
$pattern, string $path = ".", array $options = []): array|false
ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
pattern.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°. Π¨Π°Π±Π»ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ².
patternpathoptions
ΠΠ°ΡΡΠΈΠ² (array) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ false, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ZipArchive::addPattern()
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π°ΡΡ ΠΈΠ²Ρ Π²ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² PHP ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
printf('ΠΡΠΈΠ±ΠΊΠ° Ρ ΠΊΠΎΠ΄ΠΎΠΌ %d', $ret);
} else {
$directory = realpath('.');
$options = array('add_path' => 'sources/', 'remove_path' => $directory);
$zip->addPattern('/\.(?:php|txt)$/', $directory, $options);
$zip->close();
}
?>