If filename contains multiple dots(.), you can preserve other parts by following code (example1).
Example #1 (Expected)
<?php
$filename = "abc.xyz.tar.gz";
$p = new PharData($filename);
$exts = explode('.', $filename);
array_shift($exts);
array_pop($exts);
$ext = implode('.', $exts);
$p->decompress($ext); # result filename: abc.xyz.tar
?>
Example #2 (might be unexpected)
<?php
$filename = "abc.xyz.tar.gz";
$p = new PharData($filename);
$p->decompress($filename); # result filename: abc.tar; xyz is truncated accidentally.
?>PharData::decompress
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PharData::decompress
Референца за `phardata.decompress.php` со подобрена типографија и навигација.
PharData::decompress
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::decompress — Ја декомпресира целата Phar архива
= NULL
За архиви базирани на tar, овој метод ја декомпресира целата архива.
За архиви базирани на Zip, овој метод завршува со исклучок. zlib екстензијата мора да биде овозможена за да се декомпресира архива компресирана со gzip компресија, и bzip2 екстензијата мора да биде овозможена за да се декомпресира архива компресирана со bzip2 компресија.
Дополнително, овој метод автоматски го менува името на екстензијата на датотеката на архивата,
.tar по дифолт. Алтернативно, екстензијата на датотеката може да се специфицира со extension
parameter.
Параметри
extension-
За декомпресирање, стандардната екстензија на датотеката е
.tar. Користете го овој параметар за да специфицирате друга екстензија на датотеката. Имајте предвид дека само извршните архиви можат да содржат.pharво нивното име на датотека.
Errors/Exceptions
). Ако повикот не успее, ќе врати BadMethodCallException ако zlib екстензијата не е достапна, или bzip2 екстензијата не е овозможена.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
extension сега е null.
|
Примери
ако е овозможен колекторот за отпадоци, Phar::getSupportedCompression() example
<?php
$p = new PharData('/path/to/my.tar.gz');
$p->decompress(); // creates /path/to/my.tar
?>Види Исто така
- PharData::decompressFiles() - Враќа вистинска големина на датотеката (со компресија) во Phar архивата
- PharFileInfo::getCompressedSize() - Враќа дали ставката е компресирана
- PharFileInfo::isCompressed() - Ја компресира тековната Phar ставка со zlib или bzip2 компресија
- PharFileInfo::compress() - Ја декомпресира тековната Phar ставка во рамките на phar
- За архиви базирани на tar, овој метод фрла - Конструира tar или zip архива од итератор
- PharFileInfo::decompress() - Враќа дали phar екстензијата поддржува компресија со користење на zlib или bzip2
- Phar::canCompress() - Враќа Phar::GZ или PHAR::BZ2 ако целата phar архива е компресирана (.tar.gz/tar.bz и слично)
- За архиви базирани на tar, овој метод фрла - Конструира tar или zip архива од итератор
- PharData::compressFiles() - Врати низа од поддржани алгоритми за компресија
- Phar::isCompressed() - Компресира цела tar/zip архива користејќи Gzip или Bzip2 компресија
- мора да бидат овозможени за да се искористи оваа функција ако некои датотеки се компресирани со помош на bzip2/zlib компресија. - Копира датотека внатре во tar/zip архивата во друга нова датотека во рамките на истата архива