function Archive_Tar::__construct
Archivo
- drupal-7.x/modules/system/system.tar.inc, line 105
Class
- Archive_Tar
- Creates a (compressed) Tar archive
*
Código
function __construct($p_tarname, $p_compress = null) {
$this->_compress = false;
$this->_compress_type = 'none';
if (($p_compress === null) || ($p_compress == '')) {
if (@file_exists($p_tarname)) {
if ($fp = @fopen($p_tarname, "rb")) {
$data = fread($fp, 2);
fclose($fp);
if ($data == "\37\213") {
$this->_compress = true;
$this->_compress_type = 'gz';
}
elseif ($data == "BZ") {
$this->_compress = true;
$this->_compress_type = 'bz2';
}
}
}
else {
if (substr($p_tarname, -2) == 'gz') {
$this->_compress = true;
$this->_compress_type = 'gz';
}
elseif ((substr($p_tarname, -3) == 'bz2') || (substr($p_tarname, -2) == 'bz')) {
$this->_compress = true;
$this->_compress_type = 'bz2';
}
}
}
else {
if (($p_compress === true) || ($p_compress == 'gz')) {
$this->_compress = true;
$this->_compress_type = 'gz';
}
else if ($p_compress == 'bz2') {
$this->_compress = true;
$this->_compress_type = 'bz2';
}
else {
die("Unsupported compression type '$p_compress'\n" . "Supported types are 'gz' and 'bz2'.\n");
return false;
}
}
$this->_tarname = $p_tarname;
if ($this->_compress) { if ($this->_compress_type == 'gz') {
$extname = 'zlib';
}
else if ($this->_compress_type == 'bz2') {
$extname = 'bz2';
}
if (!extension_loaded($extname)) {
$this->loadExtension($extname);
}
if (!extension_loaded($extname)) {
die("The extension '$extname' couldn't be found.\n" . "Please make sure your version of PHP was built " . "with '$extname' support.\n");
return false;
}
}
}