code: public function _saveBigData($iStBlk, &$raList)
      {
          $FILE = $this->fileHandle;
  
          // cycle through PPS's
          $iCount = count($raList);
          for ($i = 0; $i < $iCount; ++$i) {
              if ($raList[$i]->Type != OLE::OLE_PPS_TYPE_DIR) {
                  $raList[$i]->Size = $raList[$i]->getDataLen();
                  if (($raList[$i]->Size >= OLE::OLE_DATA_SIZE_SMALL) || (($raList[$i]->Type == OLE::OLE_PPS_TYPE_ROOT) && isset($raList[$i]->_data))) {
                      fwrite($FILE, $raList[$i]->_data);
  
                      if ($raList[$i]->Size % $this->bigBlockSize) {
                          fwrite($FILE, str_repeat("\x00", $this->bigBlockSize - ($raList[$i]->Size % $this->bigBlockSize)));
                      }
                      // Set For PPS
                      $raList[$i]->startBlock = $iStBlk;
                      $iStBlk +=
                              (floor($raList[$i]->Size / $this->bigBlockSize) +
                                  (($raList[$i]->Size % $this->bigBlockSize) ? 1 : 0));
                  }
              }
          }
      }
docs: Saving big data (PPS's with data bigger than \PhpOffice\PhpSpreadsheet\Shared\OLE::OLE_DATA_SIZE_SMALL).
  
  @param int $iStBlk
  @param array &$raList Reference to array of PPS's