Conversão de Arquivo TXT em PHP
Publicado por jose claudio em 06/05/2011
[ Hits: 14.959 ]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { background-color: #EEE; } label { display: block; float: left; width: 200px; } fieldset { border: 0px; } </style> </head> <body> <h1>Conversor de arquivo texto</h1> <form name="file_input" enctype="multipart/form-data" action="export.php" method="post"> <?php echo isset($_GET['message']) ? "<h2>{$_GET['message']}</h2>" : ''; ?> <fieldset> <label for="file_in">Selecione o arquivo</label> <input type="file" name="file_in" id="file_in" value=""/> </fieldset> <fieldset> <label for="send_bt"> </label> <input type="submit" name="send_bt" id="send_bt" value="Converter"/> </fieldset> </form> </body> </html>
<?php // Variavel que armazenará as linhas do arquivo a ser gerado $retorno = array(); // Valida se foi enviado um arquivo pela pagina index.php if(isset($_FILES['file_in'])) { // Armazena as informações do arquivo enviado $file = $_FILES['file_in']; // Verifica se o arquivo enviado existe fisicamente if(file_exists($file['tmp_name'])) { // Inclui os cabeçalhos para forçar o download do arquivo gerado header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Disposition: attachment; filename=\"export-" . date('Ymdhis') . ".txt\""); header("Content-Type: application/force-download"); // Abre o arquivo criando um cursor na primeira linha $fCursor = fopen($file['tmp_name'], 'r'); // Varre o arquivo linha a linha lendo os registros while(!feof($fCursor)) { // Pega uma linha do arquivo $fLine = fgets($fCursor, 4096); // Transforma a linha em um vetor separando os campos por dois espações $fLineArray = explode(';', ereg_replace(' [ ]+', ';', ereg_replace("(\r|\n)", "", $fLine))); // Valida se possui a quantidade de campos especificados no formato do arquivo if(count($fLineArray) == 6) { // Define a data da ligação $dataAntiga = ereg_replace('[^0-9]', '', $fLineArray[2]); $novaData = substr($dataAntiga, 2, 2) . substr($dataAntiga, 0, 2) . substr($dataAntiga, 6, 7); // Define o código do fornecedor $codigoFornecedor= '00422802'; //CODIGO DA DIVEO //$codigoFornecedor= '00006402'; //CODIGO INTELIG // DEFINE LOCALIDADE PELO RAMAL /* - Ramal com dígitos 11 = DF - Ramal com dígitos 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 e 22 = SP - Ramal com dígitos 43 = SP - Ramal com dígitos 98 = RJ */ $origem = array(); $origem[11] = 'DF'; $origem[12] = 'SP';$origem[13] = 'SP';$origem[14] = 'SP';$origem[15] = 'SP';$origem[16] = 'SP'; $origem[17] = 'SP';$origem[18] = 'SP';$origem[19] = 'SP';$origem[20] = 'SP';$origem[21] = 'SP'; $origem[22] = 'SP';$origem[43] = 'SP'; $origem[98] = 'RJ'; $dgOrigem = substr($fLineArray[4], 0, 2) * 1; // MONTA O REGISTRO REFERENTE A LINHA PARA EXPORTAR NO ARQUIVO $newLine = array(); $newLine[] = 'R'; //MOEDA DA DESPESA $newLine[] = $novaData; //DATA DA CHAMADA EM FORMATO DDMMYY $newLine[] = substr($fLineArray[0], 0, 5).'- '.substr($fLineArray[0], 5, 5); // ACCOUNT CODE UTILIZADO $newLine[] = $fLineArray[3]; // DURACAO DA CHAMADA EM SEGUNDOS $newLine[] = 0; $newLine[] = str_replace('.', ',', $fLineArray[5]); // CUSTO DA CHAMADA $newLine[] = 101; // TIPO DE DESPESA $newLine[] = '-'; // CÓDIGO DO TIMEKEEPER $newLine[] = $codigoFornecedor; // CÓDIGO DO FORNECEDOR $newLine[] = isset($origem[$dgOrigem]) ? $origem[$dgOrigem] : 'NA'; // LOCALIDADE DE COBRANÇA $newLine[] = 'Ligação para: ' . substr($fLineArray[1], 0, 17) . ' ,do ramal: ' . $fLineArray[4]; // DESCRIÇÃO DA DESPESA // insere um novo nó no vetor com as informações já formatadas para exportação $retorno[] = implode("\r\n", $newLine); } } // Gera o arquivo incluindo uma linha entre os registros echo implode("\r\n\r\n", $retorno); } else { // Exibe mensagem de erro de arquivo não encontrado header("Location: index.php? message=Erro+ao+ler+o+arquivo,+verifique+o+arquivo+de+origem"); } } else { // Exibe mensagem de erro para selecionar um arquivo header("Location: index.php?message=Selecione+um+arquivo"); }
Configuração do SARG em 20 minutos
Configurando alias em placa de rede
Configurando IP estático em uma placa de rede
Autenticando máquinas Windows 7 no Samba
Script IP Válidos na rede interna
10 dicas de otimização em programação PHP
Portabilidade de métodos construtores em PHP
Plugin com controle de acesso para CakePHP 3
Classe para validação de formulários em PHP
Funções com nomes variáveis em PHP, isso existe sim!
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)