/** * txt2xml * Converte uma ou multiplas NF em formato txt em xml * * @param mixed $txt Path para txt, txt ou array de txt * @return array */ public function txt2xml($txt) { $aNF = array(); if (is_file($txt)) { //extrai cada linha do arquivo em um campo de matriz $aDados = file($txt, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES | FILE_TEXT); } elseif (is_array($txt)) { //carrega a matriz $aDados = $txt; } else { if (strlen($txt) > 0) { //carrega a matriz com as linha do arquivo $aDados = explode("\n", $txt); } else { return $aNF; } } //verificar se existem mais de uma NF $aNotas = $this->zSliceNotas($aDados); foreach ($aNotas as $nota) { $this->zArray2xml($nota); //carrega os volumes, movido de yEntity foreach ($this->linhaX26 as $vol) { $this->zLinhaXVolEntity($vol); } if ($this->make->montaNFe()) { $aNF[] = $this->make->getXML(); } } return $aNF; }
// array('8', '100', '1400', '1000', '1400'), // array('9', '100', '1400', '1000', '1400'), // array('10', '100', '1400', '1000', '1400'), // array('11', '100', '1400', '1000', '1400'), // array('12', '100', '1400', '1000', '1400'), // array('13', '100', '1400', '1000', '1400'), /// array('14', '100', '1400', '1000', '1400') //); //foreach ($aForDia as $forDia) { // $dia = $forDia[0]; // $qtde = $forDia[1]; // $qTotMes = $forDia[2]; // $qTotAnt = $forDia[3]; // $qTotGer = $forDia[4]; // //$resp = $nfe->tagforDia($dia, $qtde, $qTotMes, $qTotAnt, $qTotGer); //} //monta a NFe e retorna na tela $resp = $nfe->montaNFe(); if ($resp) { header('Content-type: text/xml; charset=UTF-8'); $xml = $nfe->getXML(); $filename = "/var/www/nfe/homologacao/entradas/{$chave}-nfe.xml"; file_put_contents($filename, $xml); chmod($filename, 0777); echo $xml; } else { header('Content-type: text/html; charset=UTF-8'); foreach ($nfe->erros as $err) { echo 'tag: <' . $err['tag'] . '> ---- ' . $err['desc'] . '<br>'; } }