{
$this->PEAR();
if ($p_compress === null) {
- if (substr($p_tarname, -4) == '.tar') {
- $p_compress = false;
+ if (@file_exists($p_tarname)) {
+ if ($fp = @fopen($p_tarname, "r")) {
+ // look for gzip magic cookie
+ $data = fread($fp, 2);
+ if ($data == "\37\213") {
+ $p_compress = true;
+ }
+ }
+ } else {
+ // probably a remote file or some file accessible
+ // through a stream interface
+ if (substr($p_tarname, -2) == 'gz') {
+ $p_compress = true;
+ }
}
}
$this->_tarname = $p_tarname;
return false;
}
}
- $this->_compress = $p_compress;
+ $this->_compress = (bool)$p_compress;
}
// }}}