/** * Read header of csv file. * File pointer has to be rewinded before calling this method ! */ private function readHeader() { if ($this->defaultHeaders === false) { // No default header defined, use first row from csv as header $this->headers = new Gpf_Data_RecordHeader($this->getNextRow()); if ($this->headers->getSize() == 0) { throw new Gpf_Exception($this->_("Failed to read headers of CSF file %s", $this->getFileName())); } } else { //compare default header with first row from csv file $row = $this->getNextRow(); foreach ($this->defaultHeaders as $id => $headerName) { if ($headerName != $row[$id]) { //This is value, headers are missing in this csv file, as headers will be used default headers $this->rewind(false); return; } } //first row was header (same as default header), skip it } $this->getNextRow(); }
public function valid() { return $this->position < $this->header->getSize(); }