68 $this->_archiver =
new $class();
80 $ext = pathinfo(
$source, PATHINFO_EXTENSION);
81 if (!empty($this->_formats[$ext])) {
82 return explode(
'.', $this->_formats[$ext]);
95 public function pack(
$source, $destination =
'packed.tgz', $skipRoot =
false)
99 for (
$i = 0;
$i < count($archivers);
$i++) {
100 if (
$i == count($archivers) - 1) {
101 $packed = $destination;
103 $packed = dirname($destination) .
'/~tmp-' . microtime(
true) . $archivers[
$i] .
'.' . $archivers[
$i];
106 if ($interimSource &&
$i < count($archivers)) {
125 public function unpack(
$source, $destination =
'.', $tillTar =
false, $clearInterm =
true)
129 for (
$i = count($archivers) - 1;
$i >= 0;
$i--) {
130 if ($tillTar && $archivers[
$i] == self::TAPE_ARCHIVER) {
134 $packed = rtrim($destination,
'/') .
'/';
139 ) .
'/~tmp-' . microtime(
141 ) . $archivers[
$i - 1] .
'.' . $archivers[
$i - 1];
145 if ($clearInterm && $interimSource &&
$i >= 0) {
164 $resFile = $this->
_getArchiver(self::TAPE_ARCHIVER)->extract($file, $tarFile, $destination);
180 if (count($archivers)) {
195 if (count($archivers) == 1 && $archivers[0] == self::TAPE_ARCHIVER) {
unpack($source, $destination='.', $tillTar=false, $clearInterm=true)
pack($source, $destination='packed.tgz', $skipRoot=false)
$_option $_optionId $class
extract($file, $source, $destination='.')