sexta-feira, 7 de dezembro de 2018


Exemplo de como ler um arquivo modelo alterar informações dele e salvar em um novo arquivo.


private function mergeModeloToDocumento(string $nomeDoTemplate){
$novo_arquivo = 'data/contrato.phtml';
if (!file_exists($nomeDoTemplate)) {
            throw new \Exception('Template não encontrado!');
        }

        $novo_buffer = '';
        $le_arquivo = fopen($nomeDoTemplate, "r");
        if ($le_arquivo){
            try{
                while (!feof($le_arquivo)) {
                    $buffer = fgets($le_arquivo, filesize($nomeDoTemplate));
                    $novo_buffer .= str_replace('<@numeroContrato>',  '00002', $buffer);
                         
                }
            } finally {
                fclose($le_arquivo);
            }
        }
        try{
            $escreve_arquivo = fopen($novo_arquivo, "w");
            if($escreve_arquivo) {
                fwrite($escreve_arquivo, $novo_buffer);
            }
        } finally {
            fclose($escreve_arquivo);
        }
        return $novo_arquivo;
    }

Exemplo:

$nomeDoNovoArquivo = $this->mergeModeloToDocumento('data/modelo.phtml');

echo 'Arquivo salvo em '.$nomeDoNovoArquivo.'.';

Conteúdo do Arquivo Modelo:

Contrato Nr. <@numeroContrato>

Conteúdo do Arquivo Final:

Contrato Nr. 00002

Nenhum comentário:

Postar um comentário