Phar::extractTo

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::extractTo β€” Π˜Π·Π²Π»Π΅Ρ‡ΡŒ содСрТимоС phar-Π°Ρ€Ρ…ΠΈΠ²Π° Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ

ОписаниС

public function Phar::extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool

Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ phar-Π°Ρ€Ρ…ΠΈΠ²Π° Π½Π° диск. Π˜Π·Π²Π»Π΅Ρ‡Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ всС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ Π½ΠΈΡ… Π±Ρ‹Π»ΠΈ. ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ files ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°, Ρ‚Π°ΠΊ ΠΈ ΠΏΡƒΡ‚Ρ‘ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° дискС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚. Для указания, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ZipArchive::extractTo().

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

directory

ΠŸΡƒΡ‚ΡŒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сохранитС ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (files)

files

Имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ² с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²/Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ. null для пропуска этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

overwrite

УстановитС Π² true, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния. Но Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ для контроля ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΠΈ.

Ошибки

ВыбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ PharException Π² случаС возникновСния ошибки записи Π½Π° диск.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Phar::extractTo()

<?php
try {
$phar = new Phar('myphar.phar');
$phar->extractTo('/full/path'); // ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹
$phar->extractTo('/another/path', 'file.txt'); // ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ file.txt
$phar->extractTo('/this/path',
array(
'file1.txt', 'file2.txt')); // ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π΄Π²Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°
$phar->extractTo('/third/path', null, true); // ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ
} catch (Exception $e) {
// handle errors
}
?>

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы Windows NTFS Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ символы Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² β€” <|>*?":. ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ряда инструмСнтов извлСчСния, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Ρƒ этих символов Π½Π° ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅, Π° вмСсто этого Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • PharData::extractTo() - Π˜Π·Π²Π»Π΅Ρ‡ΡŒ содСрТимоС tar/zip-Π°Ρ€Ρ…ΠΈΠ²Π° Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1 note

up
3
msucco at mac dot com ΒΆ
6 years ago
On the command line (*nix) you can use the following command to extract a phar file:

$ mkdir tmp && cd $_
$ phar extract -f ../file.phar