public function __construct(OLEFile $oleFile)
 {
     $oleStream = $oleFile->Get_OLE_Stream();
     fseek($oleStream, 0);
     $this->oleHeaderSignature = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 8))));
     $this->oleHeaderCLSID = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 16))));
     $this->oleMinorVersion = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2))));
     $this->oleMajorVersion = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2))));
     $this->oleByteOrder = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2))));
     $this->oleSectorShift = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2))));
     $this->oleMiniSectorShift = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 2))));
     $this->oleReserved = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 6))));
     $this->numDirSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->numFATSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->firstDirSectorLoc = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->transactionSigNum = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->miniStreamCutoffSize = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->firstMiniFATSectorLoc = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->numMiniFATSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->firstDIFATSectorLoc = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->numDIFATSectors = hexdec(Helpers::Fix_Hex(bin2hex(fread($oleStream, 4))));
     $this->difat = Helpers::Hex_Str_To_Array(Helpers::Fix_Hex(bin2hex(fread($oleStream, 436)), 8), 8);
     $this->oleStream = $oleStream;
     fseek($this->oleStream, 0);
 }
 public function __construct(OLEFile $oleFile)
 {
     $oleStream = $oleFile->Get_OLE_Stream();
     $seekPos = ftell($oleStream);
     $this->sectorSize = $oleFile->Get_Sector_Size();
     fseek($oleStream, 0);
     $difatArray = $oleFile->Get_DIFAT();
     foreach ($difatArray as $secID) {
         if ($secID != FAT::FREESECT && $secID != FAT::ENDOFCHAIN) {
             fseek($oleStream, $secID * $this->sectorSize + 512);
             $readBuf = Helpers::Hex_Str_To_Array(Helpers::Fix_Hex(bin2hex(fread($oleStream, $this->sectorSize)), 8), 8);
             for ($i = 0; $i < count($readBuf); $i++) {
                 $this->fatArray[] = $readBuf[$i];
             }
         }
     }
 }