From 3337c2d307d738b66cf549941d253bc2aa523ae2 Mon Sep 17 00:00:00 2001 From: Stig Bakken Date: Mon, 27 May 2002 19:28:09 +0000 Subject: [PATCH] * better gzip detection (magic cookie) --- pear/Archive/Tar.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pear/Archive/Tar.php b/pear/Archive/Tar.php index 86bf0ee07a..3796ae2451 100644 --- a/pear/Archive/Tar.php +++ b/pear/Archive/Tar.php @@ -65,8 +65,20 @@ class Archive_Tar extends PEAR { $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; @@ -86,7 +98,7 @@ class Archive_Tar extends PEAR return false; } } - $this->_compress = $p_compress; + $this->_compress = (bool)$p_compress; } // }}} -- 2.50.1