function rewind() { parent::rewind(); rewind($this->_file_handler); if (($this->_header = fgetcsv($this->_file_handler, 0, $this->_delimiter)) == false) { throw new \Exception("Reading of Header was failed"); } }
public function testReader() { $text = <<<HTML HELLO WORLD HTML; $reader = new Reader($text); $this->assertEquals(strlen($text), strlen(trim($text))); $this->assertEquals("HE", $reader->read(2)); $this->assertEquals(strlen($text), $reader->length()); $this->assertEquals(6, $reader->moveCursor(6)->getCursor()); $this->assertEquals('WORLD', $reader->readToEnd()); $this->assertEquals('HELLO WORLD', $reader->rewind()->readToEnd()); $this->assertEquals('HELLO ', $reader->readAndGo(6)); $this->assertEquals('WORLD', $reader->readToEnd()); # Reset position $reader->rewind(); $this->assertNotFalse($reader->match('/(?=[a-z])/iA')); $this->assertEquals('HELLO', $reader->match('/\\w+/A')); $this->assertEquals(0, $reader->getCursor()); $this->assertFalse($reader->matchAndGo('/\\d+/A')); $this->assertEquals('HELLO', $reader->matchAndGo('/\\w+/A')); $this->assertEquals(' ', $reader->matchAndGo('/\\s+/A')); $this->assertEquals('WORLD', $reader->matchAndGo('/\\w+/A')); $this->assertTrue($reader->isEnd()); $reader->rewind(); $this->assertEquals('HELLO WORLD', $reader->readToEndAndGo()); $this->assertEquals(11, $reader->length()); $this->assertEquals(10, $reader->getCursor()); $this->assertTrue($reader->isEnd()); $reader = new Reader(' Hello World '); $reader->setCursor(strpos($reader->readAll(), 'World')); $this->assertEquals(3, $reader->getLine()); $this->assertEquals(2, $reader->getColumn()); }
function rewind() { parent::rewind(); rewind($this->_file_handler); }
/** * Realiza la revision del archivo * * @param string $fileName */ protected function initialize(Reader $reader) { $this->checkCsvFile($reader->getFilename()); if (count($this->rules) === 0) { throw new Exception(' No se puede revistar el documento sin antes haber definido reglas @ ' . __LINE__); } $index = $reader->getHeaders(); if (count($this->index) > 0) { $faltan = array_diff($this->index, $index); if (count($faltan)) { $this->addError('Se detectaron columnas faltantes en el archivo, se necesitan ' . implode(', ', $this->index) . ' y se encontraron ' . implode(', ', $index) . ' Faltando ' . implode(', ', $faltan) . ''); } } $reader->rewind(); while ($reader->valid()) { $this->applyRules($reader->current(), $reader->getLineNumber()); $reader->next(); } }