PHPZip\Zip\Core\ZipUtils::testBit PHP Method

testBit() public static method

public static testBit ( $data, $bit )
    public static function testBit($data, $bit) {
        $bv = 1 << $bit;
        return ($data & $bv) == $bv;
    }

Usage Example

 public function __construct($handle = null)
 {
     parent::__construct();
     $this->header = parent::HEADER_EXTENDED_TIMESTAMP;
     if ($handle != null) {
         fread($handle, 2);
         $arr = unpack('vlength/cflags', fread($handle, 3));
         $this->length = $arr['length'];
         $this->flags = $arr['flags'] & 0xff;
         $consumed = 1;
         $this->isModTimeSet = ZipUtils::testBit($this->flags, 0);
         $this->isAcTimeSet = ZipUtils::testBit($this->flags, 1);
         $this->isCrTimeSet = ZipUtils::testBit($this->flags, 2);
         if ($this->isModTimeSet && $consumed < $this->length) {
             $arr = unpack('V', fread($handle, 4));
             $this->modTime = $arr[1];
             $consumed += 4;
         }
         if ($this->isAcTimeSet && $consumed < $this->length) {
             $arr = unpack('V', fread($handle, 4));
             $this->acTime = $arr[1];
             $consumed += 4;
         }
         if ($this->isCrTimeSet && $consumed < $this->length) {
             $arr = unpack('V', fread($handle, 4));
             $this->crTime = $arr[1];
         }
     }
 }