コード例 #1
0
 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];
         }
     }
 }